aboutsummaryrefslogtreecommitdiff
path: root/build/cleaners/skyblock/collections.js
diff options
context:
space:
mode:
Diffstat (limited to 'build/cleaners/skyblock/collections.js')
-rw-r--r--build/cleaners/skyblock/collections.js116
1 files changed, 0 insertions, 116 deletions
diff --git a/build/cleaners/skyblock/collections.js b/build/cleaners/skyblock/collections.js
deleted file mode 100644
index 4a5b34e..0000000
--- a/build/cleaners/skyblock/collections.js
+++ /dev/null
@@ -1,116 +0,0 @@
-import { cleanItemId } from './itemId.js';
-const COLLECTIONS = {
- 'farming': [
- 'wheat',
- 'carrot',
- 'potato',
- 'pumpkin',
- 'melon_slice',
- 'wheat_seeds',
- 'red_mushroom',
- 'cocoa_beans',
- 'cactus',
- 'sugar_cane',
- 'feather',
- 'leather',
- 'porkchop',
- 'chicken',
- 'mutton',
- 'rabbit',
- 'nether_wart'
- ],
- 'mining': [
- 'cobblestone',
- 'coal',
- 'iron_ingot',
- 'gold_ingot',
- 'diamond',
- 'lapis_lazuli',
- 'emerald',
- 'redstone',
- 'quartz',
- 'obsidian',
- 'glowstone_dust',
- 'gravel',
- 'ice',
- 'netherrack',
- 'sand',
- 'end_stone'
- ],
- 'combat': [
- 'rotten_flesh',
- 'bone',
- 'string',
- 'spider_eye',
- 'gunpowder',
- 'ender_pearl',
- 'ghast_tear',
- 'slime_ball',
- 'blaze_rod',
- 'magma_cream'
- ],
- 'foraging': [
- 'oak_log',
- 'spruce_log',
- 'birch_log',
- 'jungle_log',
- 'acacia_log',
- 'dark_oak_log'
- ],
- 'fishing': [
- 'cod',
- 'salmon',
- 'tropical_fish',
- 'pufferfish',
- 'prismarine_shard',
- 'prismarine_crystals',
- 'clay_ball',
- 'lily_pad',
- 'ink_sac',
- 'sponge'
- ],
- // no item should be here, but in case a new collection is added itll default to this
- 'unknown': []
-};
-// get a category name (farming) from a collection name (wheat)
-function getCategory(collectionName) {
- for (const categoryName in COLLECTIONS) {
- const categoryItems = COLLECTIONS[categoryName];
- if (categoryItems.includes(collectionName))
- return categoryName;
- }
-}
-export function cleanCollections(data) {
- // collection tiers show up like this: [ GRAVEL_3, GOLD_INGOT_2, MELON_-1, LOG_2:1_7, RAW_FISH:3_-1]
- // these tiers are the same for all players in a coop
- const playerCollectionTiersRaw = data?.unlocked_coll_tiers ?? [];
- const playerCollectionTiers = {};
- for (const collectionTierNameValueRaw of playerCollectionTiersRaw) {
- const [collectionTierNameRaw, collectionTierValueRaw] = collectionTierNameValueRaw.split(/_(?=-?\d+$)/);
- const collectionName = cleanItemId(collectionTierNameRaw);
- // ensure it's at least 0
- const collectionValue = Math.max(parseInt(collectionTierValueRaw), 0);
- // if the collection hasn't been checked yet, or the new value is higher than the old, replace it
- if (!playerCollectionTiers[collectionName] || collectionValue > playerCollectionTiers[collectionName])
- playerCollectionTiers[collectionName] = collectionValue;
- }
- // collection names show up like this: { LOG: 49789, LOG:2: 26219, MUSHROOM_COLLECTION: 2923}
- // these values are different for each player in a coop
- const playerCollectionXpsRaw = data?.collection ?? {};
- const playerCollections = [];
- for (const collectionNameRaw in playerCollectionXpsRaw) {
- const collectionXp = playerCollectionXpsRaw[collectionNameRaw];
- const collectionName = cleanItemId(collectionNameRaw);
- const collectionLevel = playerCollectionTiers[collectionName];
- const collectionCategory = getCategory(collectionName) ?? 'unknown';
- // in some very weird cases the collection level will be undefined, we should ignore these collections
- if (collectionLevel !== undefined)
- playerCollections.push({
- name: collectionName,
- xp: collectionXp,
- level: collectionLevel,
- category: collectionCategory
- });
- }
- return playerCollections;
-}