// ==UserScript== // @name mooket2 // @namespace http://tampermonkey.net/ // @version 20260312.0.4 // @description mooket2 银河奶牛历史价格(包含强化物品)history(enhancement included) price for milkywayidle // @author Q7 // @match https://www.milkywayidle.com/* // @match https://www.milkywayidlecn.com/* // @icon https://www.milkywayidle.com/favicon.svg // @grant none // @require https://cdn.jsdelivr.net/npm/chart.js@4.4.3/dist/chart.umd.min.js // @require https://cdn.jsdelivr.net/npm/chartjs-adapter-date-fns@3.0.0/dist/chartjs-adapter-date-fns.bundle.min.js // @require https://cdn.jsdelivr.net/npm/chartjs-plugin-crosshair@2.0.0/dist/chartjs-plugin-crosshair.min.js // @require https://cdn.jsdelivr.net/npm/lz-string@1.5.0/libs/lz-string.min.js // @run-at document-start // @license GPL-3.0-or-later // ==/UserScript== (function () { 'use strict'; let injectSpace = "mwi"; if (window[injectSpace]) return; // ================= 核心配置区 ================= const MY_API_HOST = "https://q7.nainai.eu.org"; const NATIVE_API_URL = window.location.origin + "/game_data/marketplace.json"; // ============================================== // 【核心修复 1】主动清理旧版本遗留的庞大缓存,防止 LocalStorage 爆仓引发游戏崩溃 try { localStorage.removeItem("MYAPI_LATEST_CACHE"); } catch(e) {} const observer = new MutationObserver(() => { const el = document.querySelector('[class^="GamePage"]'); if (el) { observer.disconnect(); patchScript(); } }); observer.observe(document, { childList: true, subtree: true }); let mwi = { version: "0.8.5", MWICoreInitialized: false, game: null, lang: null, coreMarket: null, initCharacterData: null, initClientData: null, get character() { return this.game?.state?.character || this.initCharacterData?.character }, isZh: true, itemNameToHridDict: null, ensureItemHrid: function (itemHridOrName) { let itemHrid = this.itemNameToHridDict[itemHridOrName]; if (itemHrid) return itemHrid; if (itemHridOrName?.startsWith("/items/")) return itemHridOrName; return null; }, getItemDetail: function (itemHrid) { return this.initClientData?.itemDetailMap && this.initClientData.itemDetailMap[itemHrid]; }, hookMessage: hookMessage, hookCallback: hookCallback, fetchWithTimeout: fetchWithTimeout, }; window[injectSpace] = mwi; try { let decData = LZString.decompressFromUTF16(localStorage.getItem("initClientData")); mwi.initClientData = JSON.parse(decData); } catch { mwi.initClientData = JSON.parse("{}"); } mwi.isZh = localStorage.getItem("i18nextLng")?.startsWith("zh"); // 【核心修复 2】安全的 localStorage 拦截器,绝不阻断游戏的正常存盘 const originalSetItem = localStorage.setItem; localStorage.setItem = function (key, value) { originalSetItem.apply(this, arguments); try { const event = new Event('localStorageChanged'); event.key = key; event.newValue = value; dispatchEvent(event); } catch(e) {} }; addEventListener('localStorageChanged', function (event) { if (event.key === "i18nextLng") { mwi.isZh = event.newValue?.startsWith("zh"); dispatchEvent(new Event("MWILangChanged")); } }); async function patchScript() { try { window[injectSpace].game = (e => e?.[Reflect.ownKeys(e).find(k => k.startsWith('__reactFiber$'))]?.return?.stateNode)(document.querySelector('[class^="GamePage"]')); window[injectSpace].lang = window[injectSpace].game.props.i18n.options.resources; } catch (error) { } } function hookWS() { const dataProperty = Object.getOwnPropertyDescriptor(MessageEvent.prototype, "data"); const oriGet = dataProperty.get; dataProperty.get = hookedGet; Object.defineProperty(MessageEvent.prototype, "data", dataProperty); function hookedGet() { const socket = this.currentTarget; if (!(socket instanceof WebSocket)) return oriGet.call(this); if (socket.url.indexOf("api.milkywayidle.com/ws") <= -1 && socket.url.indexOf("api.milkywayidlecn.com/ws") <= -1) return oriGet.call(this); const message = oriGet.call(this); // 【核心修复 3】安全的事件属性劫持防抛错 try { Object.defineProperty(this, "data", { value: message }); } catch(e) {} try { let obj = JSON.parse(message); if (obj?.type) { if (obj.type === "init_character_data") mwi.initCharacterData = obj; else if (obj.type === "init_client_data") mwi.initClientData = obj; dispatchEvent(new CustomEvent("MWI_" + obj.type, { detail: obj })); } } catch { } return message; } } hookWS(); function hookMessage(messageType, beforeFunc) { if (messageType && beforeFunc) { addEventListener("MWI_" + messageType, (e) => beforeFunc(e.detail)); } } function hookCallback(callbackProp, beforeFunc, afterFunc) { if (callbackProp && mwi?.game) { const targetObj = mwi.game; const originalCallback = targetObj[callbackProp]; if (!originalCallback) return; targetObj[callbackProp] = function (...args) { try { if (beforeFunc) beforeFunc(...args); } catch { } const result = originalCallback.apply(this, args); try { if (afterFunc) afterFunc(result, ...args); } catch { } return result; }; return () => { targetObj[callbackProp] = originalCallback; }; } } function fetchWithTimeout(url, options = {}, timeout = 10000) { const controller = new AbortController(); const timeoutId = setTimeout(() => controller.abort(new Error(`Timeout`)), timeout); return fetch(url, { ...options, signal: controller.signal }) .then(res => { clearTimeout(timeoutId); return res; }) .catch(err => { clearTimeout(timeoutId); throw err; }); } function staticInit() { mwi.lang = { en: { translation: { itemNames: { "/items/coin": "Coin", "/items/task_token": "Task Token", "/items/labyrinth_token": "Labyrinth Token", "/items/chimerical_token": "Chimerical Token", "/items/sinister_token": "Sinister Token", "/items/enchanted_token": "Enchanted Token", "/items/pirate_token": "Pirate Token", "/items/cowbell": "Cowbell", "/items/bag_of_10_cowbells": "Bag Of 10 Cowbells", "/items/purples_gift": "Purple's Gift", "/items/small_meteorite_cache": "Small Meteorite Cache", "/items/medium_meteorite_cache": "Medium Meteorite Cache", "/items/large_meteorite_cache": "Large Meteorite Cache", "/items/small_artisans_crate": "Small Artisan's Crate", "/items/medium_artisans_crate": "Medium Artisan's Crate", "/items/large_artisans_crate": "Large Artisan's Crate", "/items/small_treasure_chest": "Small Treasure Chest", "/items/medium_treasure_chest": "Medium Treasure Chest", "/items/large_treasure_chest": "Large Treasure Chest", "/items/chimerical_chest": "Chimerical Chest", "/items/chimerical_refinement_chest": "Chimerical Refinement Chest", "/items/sinister_chest": "Sinister Chest", "/items/sinister_refinement_chest": "Sinister Refinement Chest", "/items/enchanted_chest": "Enchanted Chest", "/items/enchanted_refinement_chest": "Enchanted Refinement Chest", "/items/pirate_chest": "Pirate Chest", "/items/pirate_refinement_chest": "Pirate Refinement Chest", "/items/purdoras_box_skilling": "Purdora's Box (Skilling)", "/items/purdoras_box_combat": "Purdora's Box (Combat)", "/items/labyrinth_refinement_chest": "Labyrinth Refinement Chest", "/items/seal_of_gathering": "Scroll Of Gathering", "/items/seal_of_gourmet": "Scroll Of Gourmet", "/items/seal_of_processing": "Scroll Of Processing", "/items/seal_of_efficiency": "Scroll Of Efficiency", "/items/seal_of_action_speed": "Scroll Of Action Speed", "/items/seal_of_combat_drop": "Scroll Of Combat Drop", "/items/seal_of_attack_speed": "Scroll Of Attack Speed", "/items/seal_of_cast_speed": "Scroll Of Cast Speed", "/items/seal_of_damage": "Scroll Of Damage", "/items/seal_of_critical_rate": "Scroll Of Critical Rate", "/items/seal_of_wisdom": "Scroll Of Wisdom", "/items/seal_of_rare_find": "Scroll Of Rare Find", "/items/blue_key_fragment": "Blue Key Fragment", "/items/green_key_fragment": "Green Key Fragment", "/items/purple_key_fragment": "Purple Key Fragment", "/items/white_key_fragment": "White Key Fragment", "/items/orange_key_fragment": "Orange Key Fragment", "/items/brown_key_fragment": "Brown Key Fragment", "/items/stone_key_fragment": "Stone Key Fragment", "/items/dark_key_fragment": "Dark Key Fragment", "/items/burning_key_fragment": "Burning Key Fragment", "/items/chimerical_entry_key": "Chimerical Entry Key", "/items/chimerical_chest_key": "Chimerical Chest Key", "/items/sinister_entry_key": "Sinister Entry Key", "/items/sinister_chest_key": "Sinister Chest Key", "/items/enchanted_entry_key": "Enchanted Entry Key", "/items/enchanted_chest_key": "Enchanted Chest Key", "/items/pirate_entry_key": "Pirate Entry Key", "/items/pirate_chest_key": "Pirate Chest Key", "/items/donut": "Donut", "/items/blueberry_donut": "Blueberry Donut", "/items/blackberry_donut": "Blackberry Donut", "/items/strawberry_donut": "Strawberry Donut", "/items/mooberry_donut": "Mooberry Donut", "/items/marsberry_donut": "Marsberry Donut", "/items/spaceberry_donut": "Spaceberry Donut", "/items/cupcake": "Cupcake", "/items/blueberry_cake": "Blueberry Cake", "/items/blackberry_cake": "Blackberry Cake", "/items/strawberry_cake": "Strawberry Cake", "/items/mooberry_cake": "Mooberry Cake", "/items/marsberry_cake": "Marsberry Cake", "/items/spaceberry_cake": "Spaceberry Cake", "/items/gummy": "Gummy", "/items/apple_gummy": "Apple Gummy", "/items/orange_gummy": "Orange Gummy", "/items/plum_gummy": "Plum Gummy", "/items/peach_gummy": "Peach Gummy", "/items/dragon_fruit_gummy": "Dragon Fruit Gummy", "/items/star_fruit_gummy": "Star Fruit Gummy", "/items/yogurt": "Yogurt", "/items/apple_yogurt": "Apple Yogurt", "/items/orange_yogurt": "Orange Yogurt", "/items/plum_yogurt": "Plum Yogurt", "/items/peach_yogurt": "Peach Yogurt", "/items/dragon_fruit_yogurt": "Dragon Fruit Yogurt", "/items/star_fruit_yogurt": "Star Fruit Yogurt", "/items/milking_tea": "Milking Tea", "/items/foraging_tea": "Foraging Tea", "/items/woodcutting_tea": "Woodcutting Tea", "/items/cooking_tea": "Cooking Tea", "/items/brewing_tea": "Brewing Tea", "/items/alchemy_tea": "Alchemy Tea", "/items/enhancing_tea": "Enhancing Tea", "/items/cheesesmithing_tea": "Cheesesmithing Tea", "/items/crafting_tea": "Crafting Tea", "/items/tailoring_tea": "Tailoring Tea", "/items/super_milking_tea": "Super Milking Tea", "/items/super_foraging_tea": "Super Foraging Tea", "/items/super_woodcutting_tea": "Super Woodcutting Tea", "/items/super_cooking_tea": "Super Cooking Tea", "/items/super_brewing_tea": "Super Brewing Tea", "/items/super_alchemy_tea": "Super Alchemy Tea", "/items/super_enhancing_tea": "Super Enhancing Tea", "/items/super_cheesesmithing_tea": "Super Cheesesmithing Tea", "/items/super_crafting_tea": "Super Crafting Tea", "/items/super_tailoring_tea": "Super Tailoring Tea", "/items/ultra_milking_tea": "Ultra Milking Tea", "/items/ultra_foraging_tea": "Ultra Foraging Tea", "/items/ultra_woodcutting_tea": "Ultra Woodcutting Tea", "/items/ultra_cooking_tea": "Ultra Cooking Tea", "/items/ultra_brewing_tea": "Ultra Brewing Tea", "/items/ultra_alchemy_tea": "Ultra Alchemy Tea", "/items/ultra_enhancing_tea": "Ultra Enhancing Tea", "/items/ultra_cheesesmithing_tea": "Ultra Cheesesmithing Tea", "/items/ultra_crafting_tea": "Ultra Crafting Tea", "/items/ultra_tailoring_tea": "Ultra Tailoring Tea", "/items/gathering_tea": "Gathering Tea", "/items/gourmet_tea": "Gourmet Tea", "/items/wisdom_tea": "Wisdom Tea", "/items/processing_tea": "Processing Tea", "/items/efficiency_tea": "Efficiency Tea", "/items/artisan_tea": "Artisan Tea", "/items/catalytic_tea": "Catalytic Tea", "/items/blessed_tea": "Blessed Tea", "/items/stamina_coffee": "Stamina Coffee", "/items/intelligence_coffee": "Intelligence Coffee", "/items/defense_coffee": "Defense Coffee", "/items/attack_coffee": "Attack Coffee", "/items/melee_coffee": "Melee Coffee", "/items/ranged_coffee": "Ranged Coffee", "/items/magic_coffee": "Magic Coffee", "/items/super_stamina_coffee": "Super Stamina Coffee", "/items/super_intelligence_coffee": "Super Intelligence Coffee", "/items/super_defense_coffee": "Super Defense Coffee", "/items/super_attack_coffee": "Super Attack Coffee", "/items/super_melee_coffee": "Super Melee Coffee", "/items/super_ranged_coffee": "Super Ranged Coffee", "/items/super_magic_coffee": "Super Magic Coffee", "/items/ultra_stamina_coffee": "Ultra Stamina Coffee", "/items/ultra_intelligence_coffee": "Ultra Intelligence Coffee", "/items/ultra_defense_coffee": "Ultra Defense Coffee", "/items/ultra_attack_coffee": "Ultra Attack Coffee", "/items/ultra_melee_coffee": "Ultra Melee Coffee", "/items/ultra_ranged_coffee": "Ultra Ranged Coffee", "/items/ultra_magic_coffee": "Ultra Magic Coffee", "/items/wisdom_coffee": "Wisdom Coffee", "/items/lucky_coffee": "Lucky Coffee", "/items/swiftness_coffee": "Swiftness Coffee", "/items/channeling_coffee": "Channeling Coffee", "/items/critical_coffee": "Critical Coffee", "/items/poke": "Poke", "/items/impale": "Impale", "/items/puncture": "Puncture", "/items/penetrating_strike": "Penetrating Strike", "/items/scratch": "Scratch", "/items/cleave": "Cleave", "/items/maim": "Maim", "/items/crippling_slash": "Crippling Slash", "/items/smack": "Smack", "/items/sweep": "Sweep", "/items/stunning_blow": "Stunning Blow", "/items/fracturing_impact": "Fracturing Impact", "/items/shield_bash": "Shield Bash", "/items/quick_shot": "Quick Shot", "/items/aqua_arrow": "Aqua Arrow", "/items/flame_arrow": "Flame Arrow", "/items/rain_of_arrows": "Rain Of Arrows", "/items/silencing_shot": "Silencing Shot", "/items/steady_shot": "Steady Shot", "/items/pestilent_shot": "Pestilent Shot", "/items/penetrating_shot": "Penetrating Shot", "/items/water_strike": "Water Strike", "/items/ice_spear": "Ice Spear", "/items/frost_surge": "Frost Surge", "/items/mana_spring": "Mana Spring", "/items/entangle": "Entangle", "/items/toxic_pollen": "Toxic Pollen", "/items/natures_veil": "Nature's Veil", "/items/life_drain": "Life Drain", "/items/fireball": "Fireball", "/items/flame_blast": "Flame Blast", "/items/firestorm": "Firestorm", "/items/smoke_burst": "Smoke Burst", "/items/minor_heal": "Minor Heal", "/items/heal": "Heal", "/items/quick_aid": "Quick Aid", "/items/rejuvenate": "Rejuvenate", "/items/taunt": "Taunt", "/items/provoke": "Provoke", "/items/toughness": "Toughness", "/items/elusiveness": "Elusiveness", "/items/precision": "Precision", "/items/berserk": "Berserk", "/items/elemental_affinity": "Elemental Affinity", "/items/frenzy": "Frenzy", "/items/spike_shell": "Spike Shell", "/items/retribution": "Retribution", "/items/vampirism": "Vampirism", "/items/revive": "Revive", "/items/insanity": "Insanity", "/items/invincible": "Invincible", "/items/speed_aura": "Speed Aura", "/items/guardian_aura": "Guardian Aura", "/items/fierce_aura": "Fierce Aura", "/items/critical_aura": "Critical Aura", "/items/mystic_aura": "Mystic Aura", "/items/gobo_stabber": "Gobo Stabber", "/items/gobo_slasher": "Gobo Slasher", "/items/gobo_smasher": "Gobo Smasher", "/items/spiked_bulwark": "Spiked Bulwark", "/items/werewolf_slasher": "Werewolf Slasher", "/items/griffin_bulwark": "Griffin Bulwark", "/items/griffin_bulwark_refined": "Griffin Bulwark (R)", "/items/gobo_shooter": "Gobo Shooter", "/items/vampiric_bow": "Vampiric Bow", "/items/cursed_bow": "Cursed Bow", "/items/cursed_bow_refined": "Cursed Bow (R)", "/items/gobo_boomstick": "Gobo Boomstick", "/items/cheese_bulwark": "Cheese Bulwark", "/items/verdant_bulwark": "Verdant Bulwark", "/items/azure_bulwark": "Azure Bulwark", "/items/burble_bulwark": "Burble Bulwark", "/items/crimson_bulwark": "Crimson Bulwark", "/items/rainbow_bulwark": "Rainbow Bulwark", "/items/holy_bulwark": "Holy Bulwark", "/items/wooden_bow": "Wooden Bow", "/items/birch_bow": "Birch Bow", "/items/cedar_bow": "Cedar Bow", "/items/purpleheart_bow": "Purpleheart Bow", "/items/ginkgo_bow": "Ginkgo Bow", "/items/redwood_bow": "Redwood Bow", "/items/arcane_bow": "Arcane Bow", "/items/stalactite_spear": "Stalactite Spear", "/items/granite_bludgeon": "Granite Bludgeon", "/items/furious_spear": "Furious Spear", "/items/furious_spear_refined": "Furious Spear (R)", "/items/regal_sword": "Regal Sword", "/items/regal_sword_refined": "Regal Sword (R)", "/items/chaotic_flail": "Chaotic Flail", "/items/chaotic_flail_refined": "Chaotic Flail (R)", "/items/soul_hunter_crossbow": "Soul Hunter Crossbow", "/items/sundering_crossbow": "Sundering Crossbow", "/items/sundering_crossbow_refined": "Sundering Crossbow (R)", "/items/frost_staff": "Frost Staff", "/items/infernal_battlestaff": "Infernal Battlestaff", "/items/jackalope_staff": "Jackalope Staff", "/items/rippling_trident": "Rippling Trident", "/items/rippling_trident_refined": "Rippling Trident (R)", "/items/blooming_trident": "Blooming Trident", "/items/blooming_trident_refined": "Blooming Trident (R)", "/items/blazing_trident": "Blazing Trident", "/items/blazing_trident_refined": "Blazing Trident (R)", "/items/cheese_sword": "Cheese Sword", "/items/verdant_sword": "Verdant Sword", "/items/azure_sword": "Azure Sword", "/items/burble_sword": "Burble Sword", "/items/crimson_sword": "Crimson Sword", "/items/rainbow_sword": "Rainbow Sword", "/items/holy_sword": "Holy Sword", "/items/cheese_spear": "Cheese Spear", "/items/verdant_spear": "Verdant Spear", "/items/azure_spear": "Azure Spear", "/items/burble_spear": "Burble Spear", "/items/crimson_spear": "Crimson Spear", "/items/rainbow_spear": "Rainbow Spear", "/items/holy_spear": "Holy Spear", "/items/cheese_mace": "Cheese Mace", "/items/verdant_mace": "Verdant Mace", "/items/azure_mace": "Azure Mace", "/items/burble_mace": "Burble Mace", "/items/crimson_mace": "Crimson Mace", "/items/rainbow_mace": "Rainbow Mace", "/items/holy_mace": "Holy Mace", "/items/wooden_crossbow": "Wooden Crossbow", "/items/birch_crossbow": "Birch Crossbow", "/items/cedar_crossbow": "Cedar Crossbow", "/items/purpleheart_crossbow": "Purpleheart Crossbow", "/items/ginkgo_crossbow": "Ginkgo Crossbow", "/items/redwood_crossbow": "Redwood Crossbow", "/items/arcane_crossbow": "Arcane Crossbow", "/items/wooden_water_staff": "Wooden Water Staff", "/items/birch_water_staff": "Birch Water Staff", "/items/cedar_water_staff": "Cedar Water Staff", "/items/purpleheart_water_staff": "Purpleheart Water Staff", "/items/ginkgo_water_staff": "Ginkgo Water Staff", "/items/redwood_water_staff": "Redwood Water Staff", "/items/arcane_water_staff": "Arcane Water Staff", "/items/wooden_nature_staff": "Wooden Nature Staff", "/items/birch_nature_staff": "Birch Nature Staff", "/items/cedar_nature_staff": "Cedar Nature Staff", "/items/purpleheart_nature_staff": "Purpleheart Nature Staff", "/items/ginkgo_nature_staff": "Ginkgo Nature Staff", "/items/redwood_nature_staff": "Redwood Nature Staff", "/items/arcane_nature_staff": "Arcane Nature Staff", "/items/wooden_fire_staff": "Wooden Fire Staff", "/items/birch_fire_staff": "Birch Fire Staff", "/items/cedar_fire_staff": "Cedar Fire Staff", "/items/purpleheart_fire_staff": "Purpleheart Fire Staff", "/items/ginkgo_fire_staff": "Ginkgo Fire Staff", "/items/redwood_fire_staff": "Redwood Fire Staff", "/items/arcane_fire_staff": "Arcane Fire Staff", "/items/eye_watch": "Eye Watch", "/items/snake_fang_dirk": "Snake Fang Dirk", "/items/vision_shield": "Vision Shield", "/items/gobo_defender": "Gobo Defender", "/items/vampire_fang_dirk": "Vampire Fang Dirk", "/items/knights_aegis": "Knight's Aegis", "/items/knights_aegis_refined": "Knight's Aegis (R)", "/items/treant_shield": "Treant Shield", "/items/manticore_shield": "Manticore Shield", "/items/tome_of_healing": "Tome Of Healing", "/items/tome_of_the_elements": "Tome Of The Elements", "/items/watchful_relic": "Watchful Relic", "/items/bishops_codex": "Bishop's Codex", "/items/bishops_codex_refined": "Bishop's Codex (R)", "/items/cheese_buckler": "Cheese Buckler", "/items/verdant_buckler": "Verdant Buckler", "/items/azure_buckler": "Azure Buckler", "/items/burble_buckler": "Burble Buckler", "/items/crimson_buckler": "Crimson Buckler", "/items/rainbow_buckler": "Rainbow Buckler", "/items/holy_buckler": "Holy Buckler", "/items/wooden_shield": "Wooden Shield", "/items/birch_shield": "Birch Shield", "/items/cedar_shield": "Cedar Shield", "/items/purpleheart_shield": "Purpleheart Shield", "/items/ginkgo_shield": "Ginkgo Shield", "/items/redwood_shield": "Redwood Shield", "/items/arcane_shield": "Arcane Shield", "/items/gatherer_cape": "Gatherer Cape", "/items/gatherer_cape_refined": "Gatherer Cape (R)", "/items/artificer_cape": "Artificer Cape", "/items/artificer_cape_refined": "Artificer Cape (R)", "/items/culinary_cape": "Culinary Cape", "/items/culinary_cape_refined": "Culinary Cape (R)", "/items/chance_cape": "Chance Cape", "/items/chance_cape_refined": "Chance Cape (R)", "/items/sinister_cape": "Sinister Cape", "/items/sinister_cape_refined": "Sinister Cape (R)", "/items/chimerical_quiver": "Chimerical Quiver", "/items/chimerical_quiver_refined": "Chimerical Quiver (R)", "/items/enchanted_cloak": "Enchanted Cloak", "/items/enchanted_cloak_refined": "Enchanted Cloak (R)", "/items/red_culinary_hat": "Red Culinary Hat", "/items/snail_shell_helmet": "Snail Shell Helmet", "/items/vision_helmet": "Vision Helmet", "/items/fluffy_red_hat": "Fluffy Red Hat", "/items/corsair_helmet": "Corsair Helmet", "/items/corsair_helmet_refined": "Corsair Helmet (R)", "/items/acrobatic_hood": "Acrobatic Hood", "/items/acrobatic_hood_refined": "Acrobatic Hood (R)", "/items/magicians_hat": "Magician's Hat", "/items/magicians_hat_refined": "Magician's Hat (R)", "/items/cheese_helmet": "Cheese Helmet", "/items/verdant_helmet": "Verdant Helmet", "/items/azure_helmet": "Azure Helmet", "/items/burble_helmet": "Burble Helmet", "/items/crimson_helmet": "Crimson Helmet", "/items/rainbow_helmet": "Rainbow Helmet", "/items/holy_helmet": "Holy Helmet", "/items/rough_hood": "Rough Hood", "/items/reptile_hood": "Reptile Hood", "/items/gobo_hood": "Gobo Hood", "/items/beast_hood": "Beast Hood", "/items/umbral_hood": "Umbral Hood", "/items/cotton_hat": "Cotton Hat", "/items/linen_hat": "Linen Hat", "/items/bamboo_hat": "Bamboo Hat", "/items/silk_hat": "Silk Hat", "/items/radiant_hat": "Radiant Hat", "/items/dairyhands_top": "Dairyhand's Top", "/items/foragers_top": "Forager's Top", "/items/lumberjacks_top": "Lumberjack's Top", "/items/cheesemakers_top": "Cheesemaker's Top", "/items/crafters_top": "Crafter's Top", "/items/tailors_top": "Tailor's Top", "/items/chefs_top": "Chef's Top", "/items/brewers_top": "Brewer's Top", "/items/alchemists_top": "Alchemist's Top", "/items/enhancers_top": "Enhancer's Top", "/items/gator_vest": "Gator Vest", "/items/turtle_shell_body": "Turtle Shell Body", "/items/colossus_plate_body": "Colossus Plate Body", "/items/demonic_plate_body": "Demonic Plate Body", "/items/anchorbound_plate_body": "Anchorbound Plate Body", "/items/anchorbound_plate_body_refined": "Anchorbound Plate Body (R)", "/items/maelstrom_plate_body": "Maelstrom Plate Body", "/items/maelstrom_plate_body_refined": "Maelstrom Plate Body (R)", "/items/marine_tunic": "Marine Tunic", "/items/revenant_tunic": "Revenant Tunic", "/items/griffin_tunic": "Griffin Tunic", "/items/kraken_tunic": "Kraken Tunic", "/items/kraken_tunic_refined": "Kraken Tunic (R)", "/items/icy_robe_top": "Icy Robe Top", "/items/flaming_robe_top": "Flaming Robe Top", "/items/luna_robe_top": "Luna Robe Top", "/items/royal_water_robe_top": "Royal Water Robe Top", "/items/royal_water_robe_top_refined": "Royal Water Robe Top (R)", "/items/royal_nature_robe_top": "Royal Nature Robe Top", "/items/royal_nature_robe_top_refined": "Royal Nature Robe Top (R)", "/items/royal_fire_robe_top": "Royal Fire Robe Top", "/items/royal_fire_robe_top_refined": "Royal Fire Robe Top (R)", "/items/cheese_plate_body": "Cheese Plate Body", "/items/verdant_plate_body": "Verdant Plate Body", "/items/azure_plate_body": "Azure Plate Body", "/items/burble_plate_body": "Burble Plate Body", "/items/crimson_plate_body": "Crimson Plate Body", "/items/rainbow_plate_body": "Rainbow Plate Body", "/items/holy_plate_body": "Holy Plate Body", "/items/rough_tunic": "Rough Tunic", "/items/reptile_tunic": "Reptile Tunic", "/items/gobo_tunic": "Gobo Tunic", "/items/beast_tunic": "Beast Tunic", "/items/umbral_tunic": "Umbral Tunic", "/items/cotton_robe_top": "Cotton Robe Top", "/items/linen_robe_top": "Linen Robe Top", "/items/bamboo_robe_top": "Bamboo Robe Top", "/items/silk_robe_top": "Silk Robe Top", "/items/radiant_robe_top": "Radiant Robe Top", "/items/dairyhands_bottoms": "Dairyhand's Bottoms", "/items/foragers_bottoms": "Forager's Bottoms", "/items/lumberjacks_bottoms": "Lumberjack's Bottoms", "/items/cheesemakers_bottoms": "Cheesemaker's Bottoms", "/items/crafters_bottoms": "Crafter's Bottoms", "/items/tailors_bottoms": "Tailor's Bottoms", "/items/chefs_bottoms": "Chef's Bottoms", "/items/brewers_bottoms": "Brewer's Bottoms", "/items/alchemists_bottoms": "Alchemist's Bottoms", "/items/enhancers_bottoms": "Enhancer's Bottoms", "/items/turtle_shell_legs": "Turtle Shell Legs", "/items/colossus_plate_legs": "Colossus Plate Legs", "/items/demonic_plate_legs": "Demonic Plate Legs", "/items/anchorbound_plate_legs": "Anchorbound Plate Legs", "/items/anchorbound_plate_legs_refined": "Anchorbound Plate Legs (R)", "/items/maelstrom_plate_legs": "Maelstrom Plate Legs", "/items/maelstrom_plate_legs_refined": "Maelstrom Plate Legs (R)", "/items/marine_chaps": "Marine Chaps", "/items/revenant_chaps": "Revenant Chaps", "/items/griffin_chaps": "Griffin Chaps", "/items/kraken_chaps": "Kraken Chaps", "/items/kraken_chaps_refined": "Kraken Chaps (R)", "/items/icy_robe_bottoms": "Icy Robe Bottoms", "/items/flaming_robe_bottoms": "Flaming Robe Bottoms", "/items/luna_robe_bottoms": "Luna Robe Bottoms", "/items/royal_water_robe_bottoms": "Royal Water Robe Bottoms", "/items/royal_water_robe_bottoms_refined": "Royal Water Robe Bottoms (R)", "/items/royal_nature_robe_bottoms": "Royal Nature Robe Bottoms", "/items/royal_nature_robe_bottoms_refined": "Royal Nature Robe Bottoms (R)", "/items/royal_fire_robe_bottoms": "Royal Fire Robe Bottoms", "/items/royal_fire_robe_bottoms_refined": "Royal Fire Robe Bottoms (R)", "/items/cheese_plate_legs": "Cheese Plate Legs", "/items/verdant_plate_legs": "Verdant Plate Legs", "/items/azure_plate_legs": "Azure Plate Legs", "/items/burble_plate_legs": "Burble Plate Legs", "/items/crimson_plate_legs": "Crimson Plate Legs", "/items/rainbow_plate_legs": "Rainbow Plate Legs", "/items/holy_plate_legs": "Holy Plate Legs", "/items/rough_chaps": "Rough Chaps", "/items/reptile_chaps": "Reptile Chaps", "/items/gobo_chaps": "Gobo Chaps", "/items/beast_chaps": "Beast Chaps", "/items/umbral_chaps": "Umbral Chaps", "/items/cotton_robe_bottoms": "Cotton Robe Bottoms", "/items/linen_robe_bottoms": "Linen Robe Bottoms", "/items/bamboo_robe_bottoms": "Bamboo Robe Bottoms", "/items/silk_robe_bottoms": "Silk Robe Bottoms", "/items/radiant_robe_bottoms": "Radiant Robe Bottoms", "/items/enchanted_gloves": "Enchanted Gloves", "/items/pincer_gloves": "Pincer Gloves", "/items/panda_gloves": "Panda Gloves", "/items/magnetic_gloves": "Magnetic Gloves", "/items/dodocamel_gauntlets": "Dodocamel Gauntlets", "/items/dodocamel_gauntlets_refined": "Dodocamel Gauntlets (R)", "/items/sighted_bracers": "Sighted Bracers", "/items/marksman_bracers": "Marksman Bracers", "/items/marksman_bracers_refined": "Marksman Bracers (R)", "/items/chrono_gloves": "Chrono Gloves", "/items/cheese_gauntlets": "Cheese Gauntlets", "/items/verdant_gauntlets": "Verdant Gauntlets", "/items/azure_gauntlets": "Azure Gauntlets", "/items/burble_gauntlets": "Burble Gauntlets", "/items/crimson_gauntlets": "Crimson Gauntlets", "/items/rainbow_gauntlets": "Rainbow Gauntlets", "/items/holy_gauntlets": "Holy Gauntlets", "/items/rough_bracers": "Rough Bracers", "/items/reptile_bracers": "Reptile Bracers", "/items/gobo_bracers": "Gobo Bracers", "/items/beast_bracers": "Beast Bracers", "/items/umbral_bracers": "Umbral Bracers", "/items/cotton_gloves": "Cotton Gloves", "/items/linen_gloves": "Linen Gloves", "/items/bamboo_gloves": "Bamboo Gloves", "/items/silk_gloves": "Silk Gloves", "/items/radiant_gloves": "Radiant Gloves", "/items/collectors_boots": "Collector's Boots", "/items/shoebill_shoes": "Shoebill Shoes", "/items/black_bear_shoes": "Black Bear Shoes", "/items/grizzly_bear_shoes": "Grizzly Bear Shoes", "/items/polar_bear_shoes": "Polar Bear Shoes", "/items/pathbreaker_boots": "Pathbreaker Boots", "/items/pathbreaker_boots_refined": "Pathbreaker Boots (R)", "/items/centaur_boots": "Centaur Boots", "/items/pathfinder_boots": "Pathfinder Boots", "/items/pathfinder_boots_refined": "Pathfinder Boots (R)", "/items/sorcerer_boots": "Sorcerer Boots", "/items/pathseeker_boots": "Pathseeker Boots", "/items/pathseeker_boots_refined": "Pathseeker Boots (R)", "/items/cheese_boots": "Cheese Boots", "/items/verdant_boots": "Verdant Boots", "/items/azure_boots": "Azure Boots", "/items/burble_boots": "Burble Boots", "/items/crimson_boots": "Crimson Boots", "/items/rainbow_boots": "Rainbow Boots", "/items/holy_boots": "Holy Boots", "/items/rough_boots": "Rough Boots", "/items/reptile_boots": "Reptile Boots", "/items/gobo_boots": "Gobo Boots", "/items/beast_boots": "Beast Boots", "/items/umbral_boots": "Umbral Boots", "/items/cotton_boots": "Cotton Boots", "/items/linen_boots": "Linen Boots", "/items/bamboo_boots": "Bamboo Boots", "/items/silk_boots": "Silk Boots", "/items/radiant_boots": "Radiant Boots", "/items/small_pouch": "Small Pouch", "/items/medium_pouch": "Medium Pouch", "/items/large_pouch": "Large Pouch", "/items/giant_pouch": "Giant Pouch", "/items/gluttonous_pouch": "Gluttonous Pouch", "/items/guzzling_pouch": "Guzzling Pouch", "/items/necklace_of_efficiency": "Necklace Of Efficiency", "/items/fighter_necklace": "Fighter Necklace", "/items/ranger_necklace": "Ranger Necklace", "/items/wizard_necklace": "Wizard Necklace", "/items/necklace_of_wisdom": "Necklace Of Wisdom", "/items/necklace_of_speed": "Necklace Of Speed", "/items/philosophers_necklace": "Philosopher's Necklace", "/items/earrings_of_gathering": "Earrings Of Gathering", "/items/earrings_of_essence_find": "Earrings Of Essence Find", "/items/earrings_of_armor": "Earrings Of Armor", "/items/earrings_of_regeneration": "Earrings Of Regeneration", "/items/earrings_of_resistance": "Earrings Of Resistance", "/items/earrings_of_rare_find": "Earrings Of Rare Find", "/items/earrings_of_critical_strike": "Earrings Of Critical Strike", "/items/philosophers_earrings": "Philosopher's Earrings", "/items/ring_of_gathering": "Ring Of Gathering", "/items/ring_of_essence_find": "Ring Of Essence Find", "/items/ring_of_armor": "Ring Of Armor", "/items/ring_of_regeneration": "Ring Of Regeneration", "/items/ring_of_resistance": "Ring Of Resistance", "/items/ring_of_rare_find": "Ring Of Rare Find", "/items/ring_of_critical_strike": "Ring Of Critical Strike", "/items/philosophers_ring": "Philosopher's Ring", "/items/trainee_milking_charm": "Trainee Milking Charm", "/items/basic_milking_charm": "Basic Milking Charm", "/items/advanced_milking_charm": "Advanced Milking Charm", "/items/expert_milking_charm": "Expert Milking Charm", "/items/master_milking_charm": "Master Milking Charm", "/items/grandmaster_milking_charm": "Grandmaster Milking Charm", "/items/trainee_foraging_charm": "Trainee Foraging Charm", "/items/basic_foraging_charm": "Basic Foraging Charm", "/items/advanced_foraging_charm": "Advanced Foraging Charm", "/items/expert_foraging_charm": "Expert Foraging Charm", "/items/master_foraging_charm": "Master Foraging Charm", "/items/grandmaster_foraging_charm": "Grandmaster Foraging Charm", "/items/trainee_woodcutting_charm": "Trainee Woodcutting Charm", "/items/basic_woodcutting_charm": "Basic Woodcutting Charm", "/items/advanced_woodcutting_charm": "Advanced Woodcutting Charm", "/items/expert_woodcutting_charm": "Expert Woodcutting Charm", "/items/master_woodcutting_charm": "Master Woodcutting Charm", "/items/grandmaster_woodcutting_charm": "Grandmaster Woodcutting Charm", "/items/trainee_cheesesmithing_charm": "Trainee Cheesesmithing Charm", "/items/basic_cheesesmithing_charm": "Basic Cheesesmithing Charm", "/items/advanced_cheesesmithing_charm": "Advanced Cheesesmithing Charm", "/items/expert_cheesesmithing_charm": "Expert Cheesesmithing Charm", "/items/master_cheesesmithing_charm": "Master Cheesesmithing Charm", "/items/grandmaster_cheesesmithing_charm": "Grandmaster Cheesesmithing Charm", "/items/trainee_crafting_charm": "Trainee Crafting Charm", "/items/basic_crafting_charm": "Basic Crafting Charm", "/items/advanced_crafting_charm": "Advanced Crafting Charm", "/items/expert_crafting_charm": "Expert Crafting Charm", "/items/master_crafting_charm": "Master Crafting Charm", "/items/grandmaster_crafting_charm": "Grandmaster Crafting Charm", "/items/trainee_tailoring_charm": "Trainee Tailoring Charm", "/items/basic_tailoring_charm": "Basic Tailoring Charm", "/items/advanced_tailoring_charm": "Advanced Tailoring Charm", "/items/expert_tailoring_charm": "Expert Tailoring Charm", "/items/master_tailoring_charm": "Master Tailoring Charm", "/items/grandmaster_tailoring_charm": "Grandmaster Tailoring Charm", "/items/trainee_cooking_charm": "Trainee Cooking Charm", "/items/basic_cooking_charm": "Basic Cooking Charm", "/items/advanced_cooking_charm": "Advanced Cooking Charm", "/items/expert_cooking_charm": "Expert Cooking Charm", "/items/master_cooking_charm": "Master Cooking Charm", "/items/grandmaster_cooking_charm": "Grandmaster Cooking Charm", "/items/trainee_brewing_charm": "Trainee Brewing Charm", "/items/basic_brewing_charm": "Basic Brewing Charm", "/items/advanced_brewing_charm": "Advanced Brewing Charm", "/items/expert_brewing_charm": "Expert Brewing Charm", "/items/master_brewing_charm": "Master Brewing Charm", "/items/grandmaster_brewing_charm": "Grandmaster Brewing Charm", "/items/trainee_alchemy_charm": "Trainee Alchemy Charm", "/items/basic_alchemy_charm": "Basic Alchemy Charm", "/items/advanced_alchemy_charm": "Advanced Alchemy Charm", "/items/expert_alchemy_charm": "Expert Alchemy Charm", "/items/master_alchemy_charm": "Master Alchemy Charm", "/items/grandmaster_alchemy_charm": "Grandmaster Alchemy Charm", "/items/trainee_enhancing_charm": "Trainee Enhancing Charm", "/items/basic_enhancing_charm": "Basic Enhancing Charm", "/items/advanced_enhancing_charm": "Advanced Enhancing Charm", "/items/expert_enhancing_charm": "Expert Enhancing Charm", "/items/master_enhancing_charm": "Master Enhancing Charm", "/items/grandmaster_enhancing_charm": "Grandmaster Enhancing Charm", "/items/trainee_stamina_charm": "Trainee Stamina Charm", "/items/basic_stamina_charm": "Basic Stamina Charm", "/items/advanced_stamina_charm": "Advanced Stamina Charm", "/items/expert_stamina_charm": "Expert Stamina Charm", "/items/master_stamina_charm": "Master Stamina Charm", "/items/grandmaster_stamina_charm": "Grandmaster Stamina Charm", "/items/trainee_intelligence_charm": "Trainee Intelligence Charm", "/items/basic_intelligence_charm": "Basic Intelligence Charm", "/items/advanced_intelligence_charm": "Advanced Intelligence Charm", "/items/expert_intelligence_charm": "Expert Intelligence Charm", "/items/master_intelligence_charm": "Master Intelligence Charm", "/items/grandmaster_intelligence_charm": "Grandmaster Intelligence Charm", "/items/trainee_attack_charm": "Trainee Attack Charm", "/items/basic_attack_charm": "Basic Attack Charm", "/items/advanced_attack_charm": "Advanced Attack Charm", "/items/expert_attack_charm": "Expert Attack Charm", "/items/master_attack_charm": "Master Attack Charm", "/items/grandmaster_attack_charm": "Grandmaster Attack Charm", "/items/trainee_defense_charm": "Trainee Defense Charm", "/items/basic_defense_charm": "Basic Defense Charm", "/items/advanced_defense_charm": "Advanced Defense Charm", "/items/expert_defense_charm": "Expert Defense Charm", "/items/master_defense_charm": "Master Defense Charm", "/items/grandmaster_defense_charm": "Grandmaster Defense Charm", "/items/trainee_melee_charm": "Trainee Melee Charm", "/items/basic_melee_charm": "Basic Melee Charm", "/items/advanced_melee_charm": "Advanced Melee Charm", "/items/expert_melee_charm": "Expert Melee Charm", "/items/master_melee_charm": "Master Melee Charm", "/items/grandmaster_melee_charm": "Grandmaster Melee Charm", "/items/trainee_ranged_charm": "Trainee Ranged Charm", "/items/basic_ranged_charm": "Basic Ranged Charm", "/items/advanced_ranged_charm": "Advanced Ranged Charm", "/items/expert_ranged_charm": "Expert Ranged Charm", "/items/master_ranged_charm": "Master Ranged Charm", "/items/grandmaster_ranged_charm": "Grandmaster Ranged Charm", "/items/trainee_magic_charm": "Trainee Magic Charm", "/items/basic_magic_charm": "Basic Magic Charm", "/items/advanced_magic_charm": "Advanced Magic Charm", "/items/expert_magic_charm": "Expert Magic Charm", "/items/master_magic_charm": "Master Magic Charm", "/items/grandmaster_magic_charm": "Grandmaster Magic Charm", "/items/basic_task_badge": "Basic Task Badge", "/items/advanced_task_badge": "Advanced Task Badge", "/items/expert_task_badge": "Expert Task Badge", "/items/celestial_brush": "Celestial Brush", "/items/cheese_brush": "Cheese Brush", "/items/verdant_brush": "Verdant Brush", "/items/azure_brush": "Azure Brush", "/items/burble_brush": "Burble Brush", "/items/crimson_brush": "Crimson Brush", "/items/rainbow_brush": "Rainbow Brush", "/items/holy_brush": "Holy Brush", "/items/celestial_shears": "Celestial Shears", "/items/cheese_shears": "Cheese Shears", "/items/verdant_shears": "Verdant Shears", "/items/azure_shears": "Azure Shears", "/items/burble_shears": "Burble Shears", "/items/crimson_shears": "Crimson Shears", "/items/rainbow_shears": "Rainbow Shears", "/items/holy_shears": "Holy Shears", "/items/celestial_hatchet": "Celestial Hatchet", "/items/cheese_hatchet": "Cheese Hatchet", "/items/verdant_hatchet": "Verdant Hatchet", "/items/azure_hatchet": "Azure Hatchet", "/items/burble_hatchet": "Burble Hatchet", "/items/crimson_hatchet": "Crimson Hatchet", "/items/rainbow_hatchet": "Rainbow Hatchet", "/items/holy_hatchet": "Holy Hatchet", "/items/celestial_hammer": "Celestial Hammer", "/items/cheese_hammer": "Cheese Hammer", "/items/verdant_hammer": "Verdant Hammer", "/items/azure_hammer": "Azure Hammer", "/items/burble_hammer": "Burble Hammer", "/items/crimson_hammer": "Crimson Hammer", "/items/rainbow_hammer": "Rainbow Hammer", "/items/holy_hammer": "Holy Hammer", "/items/celestial_chisel": "Celestial Chisel", "/items/cheese_chisel": "Cheese Chisel", "/items/verdant_chisel": "Verdant Chisel", "/items/azure_chisel": "Azure Chisel", "/items/burble_chisel": "Burble Chisel", "/items/crimson_chisel": "Crimson Chisel", "/items/rainbow_chisel": "Rainbow Chisel", "/items/holy_chisel": "Holy Chisel", "/items/celestial_needle": "Celestial Needle", "/items/cheese_needle": "Cheese Needle", "/items/verdant_needle": "Verdant Needle", "/items/azure_needle": "Azure Needle", "/items/burble_needle": "Burble Needle", "/items/crimson_needle": "Crimson Needle", "/items/rainbow_needle": "Rainbow Needle", "/items/holy_needle": "Holy Needle", "/items/celestial_spatula": "Celestial Spatula", "/items/cheese_spatula": "Cheese Spatula", "/items/verdant_spatula": "Verdant Spatula", "/items/azure_spatula": "Azure Spatula", "/items/burble_spatula": "Burble Spatula", "/items/crimson_spatula": "Crimson Spatula", "/items/rainbow_spatula": "Rainbow Spatula", "/items/holy_spatula": "Holy Spatula", "/items/celestial_pot": "Celestial Pot", "/items/cheese_pot": "Cheese Pot", "/items/verdant_pot": "Verdant Pot", "/items/azure_pot": "Azure Pot", "/items/burble_pot": "Burble Pot", "/items/crimson_pot": "Crimson Pot", "/items/rainbow_pot": "Rainbow Pot", "/items/holy_pot": "Holy Pot", "/items/celestial_alembic": "Celestial Alembic", "/items/cheese_alembic": "Cheese Alembic", "/items/verdant_alembic": "Verdant Alembic", "/items/azure_alembic": "Azure Alembic", "/items/burble_alembic": "Burble Alembic", "/items/crimson_alembic": "Crimson Alembic", "/items/rainbow_alembic": "Rainbow Alembic", "/items/holy_alembic": "Holy Alembic", "/items/celestial_enhancer": "Celestial Enhancer", "/items/cheese_enhancer": "Cheese Enhancer", "/items/verdant_enhancer": "Verdant Enhancer", "/items/azure_enhancer": "Azure Enhancer", "/items/burble_enhancer": "Burble Enhancer", "/items/crimson_enhancer": "Crimson Enhancer", "/items/rainbow_enhancer": "Rainbow Enhancer", "/items/holy_enhancer": "Holy Enhancer", "/items/milk": "Milk", "/items/verdant_milk": "Verdant Milk", "/items/azure_milk": "Azure Milk", "/items/burble_milk": "Burble Milk", "/items/crimson_milk": "Crimson Milk", "/items/rainbow_milk": "Rainbow Milk", "/items/holy_milk": "Holy Milk", "/items/cheese": "Cheese", "/items/verdant_cheese": "Verdant Cheese", "/items/azure_cheese": "Azure Cheese", "/items/burble_cheese": "Burble Cheese", "/items/crimson_cheese": "Crimson Cheese", "/items/rainbow_cheese": "Rainbow Cheese", "/items/holy_cheese": "Holy Cheese", "/items/log": "Log", "/items/birch_log": "Birch Log", "/items/cedar_log": "Cedar Log", "/items/purpleheart_log": "Purpleheart Log", "/items/ginkgo_log": "Ginkgo Log", "/items/redwood_log": "Redwood Log", "/items/arcane_log": "Arcane Log", "/items/lumber": "Lumber", "/items/birch_lumber": "Birch Lumber", "/items/cedar_lumber": "Cedar Lumber", "/items/purpleheart_lumber": "Purpleheart Lumber", "/items/ginkgo_lumber": "Ginkgo Lumber", "/items/redwood_lumber": "Redwood Lumber", "/items/arcane_lumber": "Arcane Lumber", "/items/rough_hide": "Rough Hide", "/items/reptile_hide": "Reptile Hide", "/items/gobo_hide": "Gobo Hide", "/items/beast_hide": "Beast Hide", "/items/umbral_hide": "Umbral Hide", "/items/rough_leather": "Rough Leather", "/items/reptile_leather": "Reptile Leather", "/items/gobo_leather": "Gobo Leather", "/items/beast_leather": "Beast Leather", "/items/umbral_leather": "Umbral Leather", "/items/cotton": "Cotton", "/items/flax": "Flax", "/items/bamboo_branch": "Bamboo Branch", "/items/cocoon": "Cocoon", "/items/radiant_fiber": "Radiant Fiber", "/items/cotton_fabric": "Cotton Fabric", "/items/linen_fabric": "Linen Fabric", "/items/bamboo_fabric": "Bamboo Fabric", "/items/silk_fabric": "Silk Fabric", "/items/radiant_fabric": "Radiant Fabric", "/items/egg": "Egg", "/items/wheat": "Wheat", "/items/sugar": "Sugar", "/items/blueberry": "Blueberry", "/items/blackberry": "Blackberry", "/items/strawberry": "Strawberry", "/items/mooberry": "Mooberry", "/items/marsberry": "Marsberry", "/items/spaceberry": "Spaceberry", "/items/apple": "Apple", "/items/orange": "Orange", "/items/plum": "Plum", "/items/peach": "Peach", "/items/dragon_fruit": "Dragon Fruit", "/items/star_fruit": "Star Fruit", "/items/arabica_coffee_bean": "Arabica Coffee Bean", "/items/robusta_coffee_bean": "Robusta Coffee Bean", "/items/liberica_coffee_bean": "Liberica Coffee Bean", "/items/excelsa_coffee_bean": "Excelsa Coffee Bean", "/items/fieriosa_coffee_bean": "Fieriosa Coffee Bean", "/items/spacia_coffee_bean": "Spacia Coffee Bean", "/items/green_tea_leaf": "Green Tea Leaf", "/items/black_tea_leaf": "Black Tea Leaf", "/items/burble_tea_leaf": "Burble Tea Leaf", "/items/moolong_tea_leaf": "Moolong Tea Leaf", "/items/red_tea_leaf": "Red Tea Leaf", "/items/emp_tea_leaf": "Emp Tea Leaf", "/items/catalyst_of_coinification": "Catalyst Of Coinification", "/items/catalyst_of_decomposition": "Catalyst Of Decomposition", "/items/catalyst_of_transmutation": "Catalyst Of Transmutation", "/items/prime_catalyst": "Prime Catalyst", "/items/snake_fang": "Snake Fang", "/items/shoebill_feather": "Shoebill Feather", "/items/snail_shell": "Snail Shell", "/items/crab_pincer": "Crab Pincer", "/items/turtle_shell": "Turtle Shell", "/items/marine_scale": "Marine Scale", "/items/treant_bark": "Treant Bark", "/items/centaur_hoof": "Centaur Hoof", "/items/luna_wing": "Luna Wing", "/items/gobo_rag": "Gobo Rag", "/items/goggles": "Goggles", "/items/magnifying_glass": "Magnifying Glass", "/items/eye_of_the_watcher": "Eye Of The Watcher", "/items/icy_cloth": "Icy Cloth", "/items/flaming_cloth": "Flaming Cloth", "/items/sorcerers_sole": "Sorcerer's Sole", "/items/chrono_sphere": "Chrono Sphere", "/items/frost_sphere": "Frost Sphere", "/items/panda_fluff": "Panda Fluff", "/items/black_bear_fluff": "Black Bear Fluff", "/items/grizzly_bear_fluff": "Grizzly Bear Fluff", "/items/polar_bear_fluff": "Polar Bear Fluff", "/items/red_panda_fluff": "Red Panda Fluff", "/items/magnet": "Magnet", "/items/stalactite_shard": "Stalactite Shard", "/items/living_granite": "Living Granite", "/items/colossus_core": "Colossus Core", "/items/vampire_fang": "Vampire Fang", "/items/werewolf_claw": "Werewolf Claw", "/items/revenant_anima": "Revenant Anima", "/items/soul_fragment": "Soul Fragment", "/items/infernal_ember": "Infernal Ember", "/items/demonic_core": "Demonic Core", "/items/griffin_leather": "Griffin Leather", "/items/manticore_sting": "Manticore Sting", "/items/jackalope_antler": "Jackalope Antler", "/items/dodocamel_plume": "Dodocamel Plume", "/items/griffin_talon": "Griffin Talon", "/items/chimerical_refinement_shard": "Chimerical Refinement Shard", "/items/acrobats_ribbon": "Acrobat's Ribbon", "/items/magicians_cloth": "Magician's Cloth", "/items/chaotic_chain": "Chaotic Chain", "/items/cursed_ball": "Cursed Ball", "/items/sinister_refinement_shard": "Sinister Refinement Shard", "/items/royal_cloth": "Royal Cloth", "/items/knights_ingot": "Knight's Ingot", "/items/bishops_scroll": "Bishop's Scroll", "/items/regal_jewel": "Regal Jewel", "/items/sundering_jewel": "Sundering Jewel", "/items/enchanted_refinement_shard": "Enchanted Refinement Shard", "/items/marksman_brooch": "Marksman Brooch", "/items/corsair_crest": "Corsair Crest", "/items/damaged_anchor": "Damaged Anchor", "/items/maelstrom_plating": "Maelstrom Plating", "/items/kraken_leather": "Kraken Leather", "/items/kraken_fang": "Kraken Fang", "/items/pirate_refinement_shard": "Pirate Refinement Shard", "/items/pathbreaker_lodestone": "Pathbreaker Lodestone", "/items/pathfinder_lodestone": "Pathfinder Lodestone", "/items/pathseeker_lodestone": "Pathseeker Lodestone", "/items/labyrinth_refinement_shard": "Labyrinth Refinement Shard", "/items/butter_of_proficiency": "Butter Of Proficiency", "/items/thread_of_expertise": "Thread Of Expertise", "/items/branch_of_insight": "Branch Of Insight", "/items/gluttonous_energy": "Gluttonous Energy", "/items/guzzling_energy": "Guzzling Energy", "/items/milking_essence": "Milking Essence", "/items/foraging_essence": "Foraging Essence", "/items/woodcutting_essence": "Woodcutting Essence", "/items/cheesesmithing_essence": "Cheesesmithing Essence", "/items/crafting_essence": "Crafting Essence", "/items/tailoring_essence": "Tailoring Essence", "/items/cooking_essence": "Cooking Essence", "/items/brewing_essence": "Brewing Essence", "/items/alchemy_essence": "Alchemy Essence", "/items/enhancing_essence": "Enhancing Essence", "/items/swamp_essence": "Swamp Essence", "/items/aqua_essence": "Aqua Essence", "/items/jungle_essence": "Jungle Essence", "/items/gobo_essence": "Gobo Essence", "/items/eyessence": "Eyessence", "/items/sorcerer_essence": "Sorcerer Essence", "/items/bear_essence": "Bear Essence", "/items/golem_essence": "Golem Essence", "/items/twilight_essence": "Twilight Essence", "/items/abyssal_essence": "Abyssal Essence", "/items/chimerical_essence": "Chimerical Essence", "/items/sinister_essence": "Sinister Essence", "/items/enchanted_essence": "Enchanted Essence", "/items/pirate_essence": "Pirate Essence", "/items/labyrinth_essence": "Labyrinth Essence", "/items/task_crystal": "Task Crystal", "/items/star_fragment": "Star Fragment", "/items/pearl": "Pearl", "/items/amber": "Amber", "/items/garnet": "Garnet", "/items/jade": "Jade", "/items/amethyst": "Amethyst", "/items/moonstone": "Moonstone", "/items/sunstone": "Sunstone", "/items/philosophers_stone": "Philosopher's Stone", "/items/crushed_pearl": "Crushed Pearl", "/items/crushed_amber": "Crushed Amber", "/items/crushed_garnet": "Crushed Garnet", "/items/crushed_jade": "Crushed Jade", "/items/crushed_amethyst": "Crushed Amethyst", "/items/crushed_moonstone": "Crushed Moonstone", "/items/crushed_sunstone": "Crushed Sunstone", "/items/crushed_philosophers_stone": "Crushed Philosopher's Stone", "/items/shard_of_protection": "Shard Of Protection", "/items/mirror_of_protection": "Mirror Of Protection", "/items/philosophers_mirror": "Philosopher's Mirror", "/items/basic_torch": "Basic Torch", "/items/advanced_torch": "Advanced Torch", "/items/expert_torch": "Expert Torch", "/items/basic_shroud": "Basic Shroud", "/items/advanced_shroud": "Advanced Shroud", "/items/expert_shroud": "Expert Shroud", "/items/basic_beacon": "Basic Beacon", "/items/advanced_beacon": "Advanced Beacon", "/items/expert_beacon": "Expert Beacon", "/items/basic_food_crate": "Basic Food Crate", "/items/advanced_food_crate": "Advanced Food Crate", "/items/expert_food_crate": "Expert Food Crate", "/items/basic_tea_crate": "Basic Tea Crate", "/items/advanced_tea_crate": "Advanced Tea Crate", "/items/expert_tea_crate": "Expert Tea Crate", "/items/basic_coffee_crate": "Basic Coffee Crate", "/items/advanced_coffee_crate": "Advanced Coffee Crate", "/items/expert_coffee_crate": "Expert Coffee Crate" } } }, zh: { translation: { itemNames: { "/items/coin": "\u91d1\u5e01", "/items/task_token": "\u4efb\u52a1\u4ee3\u5e01", "/items/labyrinth_token": "\u8ff7\u5bab\u4ee3\u5e01", "/items/chimerical_token": "\u5947\u5e7b\u4ee3\u5e01", "/items/sinister_token": "\u9634\u68ee\u4ee3\u5e01", "/items/enchanted_token": "\u79d8\u6cd5\u4ee3\u5e01", "/items/pirate_token": "\u6d77\u76d7\u4ee3\u5e01", "/items/cowbell": "\u725b\u94c3", "/items/bag_of_10_cowbells": "\u725b\u94c3\u888b (10\u4e2a)", "/items/purples_gift": "\u5c0f\u7d2b\u725b\u7684\u793c\u7269", "/items/small_meteorite_cache": "\u5c0f\u9668\u77f3\u8231", "/items/medium_meteorite_cache": "\u4e2d\u9668\u77f3\u8231", "/items/large_meteorite_cache": "\u5927\u9668\u77f3\u8231", "/items/small_artisans_crate": "\u5c0f\u5de5\u5320\u5323", "/items/medium_artisans_crate": "\u4e2d\u5de5\u5320\u5323", "/items/large_artisans_crate": "\u5927\u5de5\u5320\u5323", "/items/small_treasure_chest": "\u5c0f\u5b9d\u7bb1", "/items/medium_treasure_chest": "\u4e2d\u5b9d\u7bb1", "/items/large_treasure_chest": "\u5927\u5b9d\u7bb1", "/items/chimerical_chest": "\u5947\u5e7b\u5b9d\u7bb1", "/items/chimerical_refinement_chest": "\u5947\u5e7b\u7cbe\u70bc\u5b9d\u7bb1", "/items/sinister_chest": "\u9634\u68ee\u5b9d\u7bb1", "/items/sinister_refinement_chest": "\u9634\u68ee\u7cbe\u70bc\u5b9d\u7bb1", "/items/enchanted_chest": "\u79d8\u6cd5\u5b9d\u7bb1", "/items/enchanted_refinement_chest": "\u79d8\u6cd5\u7cbe\u70bc\u5b9d\u7bb1", "/items/pirate_chest": "\u6d77\u76d7\u5b9d\u7bb1", "/items/pirate_refinement_chest": "\u6d77\u76d7\u7cbe\u70bc\u5b9d\u7bb1", "/items/purdoras_box_skilling": "\u7d2b\u591a\u62c9\u4e4b\u76d2\uff08\u751f\u6d3b\uff09", "/items/purdoras_box_combat": "\u7d2b\u591a\u62c9\u4e4b\u76d2\uff08\u6218\u6597\uff09", "/items/labyrinth_refinement_chest": "\u8ff7\u5bab\u7cbe\u70bc\u5b9d\u7bb1", "/items/seal_of_gathering": "\u91c7\u96c6\u5377\u8f74", "/items/seal_of_gourmet": "\u7f8e\u98df\u5377\u8f74", "/items/seal_of_processing": "\u52a0\u5de5\u5377\u8f74", "/items/seal_of_efficiency": "\u6548\u7387\u5377\u8f74", "/items/seal_of_action_speed": "\u884c\u52a8\u901f\u5ea6\u5377\u8f74", "/items/seal_of_combat_drop": "\u6218\u6597\u6389\u843d\u5377\u8f74", "/items/seal_of_attack_speed": "\u653b\u51fb\u901f\u5ea6\u5377\u8f74", "/items/seal_of_cast_speed": "\u65bd\u6cd5\u901f\u5ea6\u5377\u8f74", "/items/seal_of_damage": "\u4f24\u5bb3\u5377\u8f74", "/items/seal_of_critical_rate": "\u66b4\u51fb\u7387\u5377\u8f74", "/items/seal_of_wisdom": "\u7ecf\u9a8c\u5377\u8f74", "/items/seal_of_rare_find": "\u7a00\u6709\u53d1\u73b0\u5377\u8f74", "/items/blue_key_fragment": "\u84dd\u8272\u94a5\u5319\u788e\u7247", "/items/green_key_fragment": "\u7eff\u8272\u94a5\u5319\u788e\u7247", "/items/purple_key_fragment": "\u7d2b\u8272\u94a5\u5319\u788e\u7247", "/items/white_key_fragment": "\u767d\u8272\u94a5\u5319\u788e\u7247", "/items/orange_key_fragment": "\u6a59\u8272\u94a5\u5319\u788e\u7247", "/items/brown_key_fragment": "\u68d5\u8272\u94a5\u5319\u788e\u7247", "/items/stone_key_fragment": "\u77f3\u5934\u94a5\u5319\u788e\u7247", "/items/dark_key_fragment": "\u9ed1\u6697\u94a5\u5319\u788e\u7247", "/items/burning_key_fragment": "\u71c3\u70e7\u94a5\u5319\u788e\u7247", "/items/chimerical_entry_key": "\u5947\u5e7b\u94a5\u5319", "/items/chimerical_chest_key": "\u5947\u5e7b\u5b9d\u7bb1\u94a5\u5319", "/items/sinister_entry_key": "\u9634\u68ee\u94a5\u5319", "/items/sinister_chest_key": "\u9634\u68ee\u5b9d\u7bb1\u94a5\u5319", "/items/enchanted_entry_key": "\u79d8\u6cd5\u94a5\u5319", "/items/enchanted_chest_key": "\u79d8\u6cd5\u5b9d\u7bb1\u94a5\u5319", "/items/pirate_entry_key": "\u6d77\u76d7\u94a5\u5319", "/items/pirate_chest_key": "\u6d77\u76d7\u5b9d\u7bb1\u94a5\u5319", "/items/donut": "\u751c\u751c\u5708", "/items/blueberry_donut": "\u84dd\u8393\u751c\u751c\u5708", "/items/blackberry_donut": "\u9ed1\u8393\u751c\u751c\u5708", "/items/strawberry_donut": "\u8349\u8393\u751c\u751c\u5708", "/items/mooberry_donut": "\u54de\u8393\u751c\u751c\u5708", "/items/marsberry_donut": "\u706b\u661f\u8393\u751c\u751c\u5708", "/items/spaceberry_donut": "\u592a\u7a7a\u8393\u751c\u751c\u5708", "/items/cupcake": "\u7eb8\u676f\u86cb\u7cd5", "/items/blueberry_cake": "\u84dd\u8393\u86cb\u7cd5", "/items/blackberry_cake": "\u9ed1\u8393\u86cb\u7cd5", "/items/strawberry_cake": "\u8349\u8393\u86cb\u7cd5", "/items/mooberry_cake": "\u54de\u8393\u86cb\u7cd5", "/items/marsberry_cake": "\u706b\u661f\u8393\u86cb\u7cd5", "/items/spaceberry_cake": "\u592a\u7a7a\u8393\u86cb\u7cd5", "/items/gummy": "\u8f6f\u7cd6", "/items/apple_gummy": "\u82f9\u679c\u8f6f\u7cd6", "/items/orange_gummy": "\u6a59\u5b50\u8f6f\u7cd6", "/items/plum_gummy": "\u674e\u5b50\u8f6f\u7cd6", "/items/peach_gummy": "\u6843\u5b50\u8f6f\u7cd6", "/items/dragon_fruit_gummy": "\u706b\u9f99\u679c\u8f6f\u7cd6", "/items/star_fruit_gummy": "\u6768\u6843\u8f6f\u7cd6", "/items/yogurt": "\u9178\u5976", "/items/apple_yogurt": "\u82f9\u679c\u9178\u5976", "/items/orange_yogurt": "\u6a59\u5b50\u9178\u5976", "/items/plum_yogurt": "\u674e\u5b50\u9178\u5976", "/items/peach_yogurt": "\u6843\u5b50\u9178\u5976", "/items/dragon_fruit_yogurt": "\u706b\u9f99\u679c\u9178\u5976", "/items/star_fruit_yogurt": "\u6768\u6843\u9178\u5976", "/items/milking_tea": "\u6324\u5976\u8336", "/items/foraging_tea": "\u91c7\u6458\u8336", "/items/woodcutting_tea": "\u4f10\u6728\u8336", "/items/cooking_tea": "\u70f9\u996a\u8336", "/items/brewing_tea": "\u51b2\u6ce1\u8336", "/items/alchemy_tea": "\u70bc\u91d1\u8336", "/items/enhancing_tea": "\u5f3a\u5316\u8336", "/items/cheesesmithing_tea": "\u5976\u916a\u953b\u9020\u8336", "/items/crafting_tea": "\u5236\u4f5c\u8336", "/items/tailoring_tea": "\u7f1d\u7eab\u8336", "/items/super_milking_tea": "\u8d85\u7ea7\u6324\u5976\u8336", "/items/super_foraging_tea": "\u8d85\u7ea7\u91c7\u6458\u8336", "/items/super_woodcutting_tea": "\u8d85\u7ea7\u4f10\u6728\u8336", "/items/super_cooking_tea": "\u8d85\u7ea7\u70f9\u996a\u8336", "/items/super_brewing_tea": "\u8d85\u7ea7\u51b2\u6ce1\u8336", "/items/super_alchemy_tea": "\u8d85\u7ea7\u70bc\u91d1\u8336", "/items/super_enhancing_tea": "\u8d85\u7ea7\u5f3a\u5316\u8336", "/items/super_cheesesmithing_tea": "\u8d85\u7ea7\u5976\u916a\u953b\u9020\u8336", "/items/super_crafting_tea": "\u8d85\u7ea7\u5236\u4f5c\u8336", "/items/super_tailoring_tea": "\u8d85\u7ea7\u7f1d\u7eab\u8336", "/items/ultra_milking_tea": "\u7a76\u6781\u6324\u5976\u8336", "/items/ultra_foraging_tea": "\u7a76\u6781\u91c7\u6458\u8336", "/items/ultra_woodcutting_tea": "\u7a76\u6781\u4f10\u6728\u8336", "/items/ultra_cooking_tea": "\u7a76\u6781\u70f9\u996a\u8336", "/items/ultra_brewing_tea": "\u7a76\u6781\u51b2\u6ce1\u8336", "/items/ultra_alchemy_tea": "\u7a76\u6781\u70bc\u91d1\u8336", "/items/ultra_enhancing_tea": "\u7a76\u6781\u5f3a\u5316\u8336", "/items/ultra_cheesesmithing_tea": "\u7a76\u6781\u5976\u916a\u953b\u9020\u8336", "/items/ultra_crafting_tea": "\u7a76\u6781\u5236\u4f5c\u8336", "/items/ultra_tailoring_tea": "\u7a76\u6781\u7f1d\u7eab\u8336", "/items/gathering_tea": "\u91c7\u96c6\u8336", "/items/gourmet_tea": "\u7f8e\u98df\u8336", "/items/wisdom_tea": "\u7ecf\u9a8c\u8336", "/items/processing_tea": "\u52a0\u5de5\u8336", "/items/efficiency_tea": "\u6548\u7387\u8336", "/items/artisan_tea": "\u5de5\u5320\u8336", "/items/catalytic_tea": "\u50ac\u5316\u8336", "/items/blessed_tea": "\u798f\u6c14\u8336", "/items/stamina_coffee": "\u8010\u529b\u5496\u5561", "/items/intelligence_coffee": "\u667a\u529b\u5496\u5561", "/items/defense_coffee": "\u9632\u5fa1\u5496\u5561", "/items/attack_coffee": "\u653b\u51fb\u5496\u5561", "/items/melee_coffee": "\u8fd1\u6218\u5496\u5561", "/items/ranged_coffee": "\u8fdc\u7a0b\u5496\u5561", "/items/magic_coffee": "\u9b54\u6cd5\u5496\u5561", "/items/super_stamina_coffee": "\u8d85\u7ea7\u8010\u529b\u5496\u5561", "/items/super_intelligence_coffee": "\u8d85\u7ea7\u667a\u529b\u5496\u5561", "/items/super_defense_coffee": "\u8d85\u7ea7\u9632\u5fa1\u5496\u5561", "/items/super_attack_coffee": "\u8d85\u7ea7\u653b\u51fb\u5496\u5561", "/items/super_melee_coffee": "\u8d85\u7ea7\u8fd1\u6218\u5496\u5561", "/items/super_ranged_coffee": "\u8d85\u7ea7\u8fdc\u7a0b\u5496\u5561", "/items/super_magic_coffee": "\u8d85\u7ea7\u9b54\u6cd5\u5496\u5561", "/items/ultra_stamina_coffee": "\u7a76\u6781\u8010\u529b\u5496\u5561", "/items/ultra_intelligence_coffee": "\u7a76\u6781\u667a\u529b\u5496\u5561", "/items/ultra_defense_coffee": "\u7a76\u6781\u9632\u5fa1\u5496\u5561", "/items/ultra_attack_coffee": "\u7a76\u6781\u653b\u51fb\u5496\u5561", "/items/ultra_melee_coffee": "\u7a76\u6781\u8fd1\u6218\u5496\u5561", "/items/ultra_ranged_coffee": "\u7a76\u6781\u8fdc\u7a0b\u5496\u5561", "/items/ultra_magic_coffee": "\u7a76\u6781\u9b54\u6cd5\u5496\u5561", "/items/wisdom_coffee": "\u7ecf\u9a8c\u5496\u5561", "/items/lucky_coffee": "\u5e78\u8fd0\u5496\u5561", "/items/swiftness_coffee": "\u8fc5\u6377\u5496\u5561", "/items/channeling_coffee": "\u541f\u5531\u5496\u5561", "/items/critical_coffee": "\u66b4\u51fb\u5496\u5561", "/items/poke": "\u7834\u80c6\u4e4b\u523a", "/items/impale": "\u900f\u9aa8\u4e4b\u523a", "/items/puncture": "\u7834\u7532\u4e4b\u523a", "/items/penetrating_strike": "\u8d2f\u5fc3\u4e4b\u523a", "/items/scratch": "\u722a\u5f71\u65a9", "/items/cleave": "\u5206\u88c2\u65a9", "/items/maim": "\u8840\u5203\u65a9", "/items/crippling_slash": "\u81f4\u6b8b\u65a9", "/items/smack": "\u91cd\u78be", "/items/sweep": "\u91cd\u626b", "/items/stunning_blow": "\u91cd\u9524", "/items/fracturing_impact": "\u788e\u88c2\u51b2\u51fb", "/items/shield_bash": "\u76fe\u51fb", "/items/quick_shot": "\u5feb\u901f\u5c04\u51fb", "/items/aqua_arrow": "\u6d41\u6c34\u7bad", "/items/flame_arrow": "\u70c8\u7130\u7bad", "/items/rain_of_arrows": "\u7bad\u96e8", "/items/silencing_shot": "\u6c89\u9ed8\u4e4b\u7bad", "/items/steady_shot": "\u7a33\u5b9a\u5c04\u51fb", "/items/pestilent_shot": "\u75ab\u75c5\u5c04\u51fb", "/items/penetrating_shot": "\u8d2f\u7a7f\u5c04\u51fb", "/items/water_strike": "\u6d41\u6c34\u51b2\u51fb", "/items/ice_spear": "\u51b0\u67aa\u672f", "/items/frost_surge": "\u51b0\u971c\u7206\u88c2", "/items/mana_spring": "\u6cd5\u529b\u55b7\u6cc9", "/items/entangle": "\u7f20\u7ed5", "/items/toxic_pollen": "\u5267\u6bd2\u7c89\u5c18", "/items/natures_veil": "\u81ea\u7136\u83cc\u5e55", "/items/life_drain": "\u751f\u547d\u5438\u53d6", "/items/fireball": "\u706b\u7403", "/items/flame_blast": "\u7194\u5ca9\u7206\u88c2", "/items/firestorm": "\u706b\u7130\u98ce\u66b4", "/items/smoke_burst": "\u70df\u7206\u706d\u5f71", "/items/minor_heal": "\u521d\u7ea7\u81ea\u6108\u672f", "/items/heal": "\u81ea\u6108\u672f", "/items/quick_aid": "\u5feb\u901f\u6cbb\u7597\u672f", "/items/rejuvenate": "\u7fa4\u4f53\u6cbb\u7597\u672f", "/items/taunt": "\u5632\u8bbd", "/items/provoke": "\u6311\u8845", "/items/toughness": "\u575a\u97e7", "/items/elusiveness": "\u95ea\u907f", "/items/precision": "\u7cbe\u786e", "/items/berserk": "\u72c2\u66b4", "/items/elemental_affinity": "\u5143\u7d20\u589e\u5e45", "/items/frenzy": "\u72c2\u901f", "/items/spike_shell": "\u5c16\u523a\u9632\u62a4", "/items/retribution": "\u60e9\u6212", "/items/vampirism": "\u5438\u8840", "/items/revive": "\u590d\u6d3b", "/items/insanity": "\u75af\u72c2", "/items/invincible": "\u65e0\u654c", "/items/speed_aura": "\u901f\u5ea6\u5149\u73af", "/items/guardian_aura": "\u5b88\u62a4\u5149\u73af", "/items/fierce_aura": "\u7269\u7406\u5149\u73af", "/items/critical_aura": "\u66b4\u51fb\u5149\u73af", "/items/mystic_aura": "\u5143\u7d20\u5149\u73af", "/items/gobo_stabber": "\u54e5\u5e03\u6797\u957f\u5251", "/items/gobo_slasher": "\u54e5\u5e03\u6797\u5173\u5200", "/items/gobo_smasher": "\u54e5\u5e03\u6797\u72fc\u7259\u68d2", "/items/spiked_bulwark": "\u5c16\u523a\u91cd\u76fe", "/items/werewolf_slasher": "\u72fc\u4eba\u5173\u5200", "/items/griffin_bulwark": "\u72ee\u9e6b\u91cd\u76fe", "/items/griffin_bulwark_refined": "\u72ee\u9e6b\u91cd\u76fe\uff08\u7cbe\uff09", "/items/gobo_shooter": "\u54e5\u5e03\u6797\u5f39\u5f13", "/items/vampiric_bow": "\u5438\u8840\u5f13", "/items/cursed_bow": "\u5492\u6028\u4e4b\u5f13", "/items/cursed_bow_refined": "\u5492\u6028\u4e4b\u5f13\uff08\u7cbe\uff09", "/items/gobo_boomstick": "\u54e5\u5e03\u6797\u706b\u68cd", "/items/cheese_bulwark": "\u5976\u916a\u91cd\u76fe", "/items/verdant_bulwark": "\u7fe0\u7eff\u91cd\u76fe", "/items/azure_bulwark": "\u851a\u84dd\u91cd\u76fe", "/items/burble_bulwark": "\u6df1\u7d2b\u91cd\u76fe", "/items/crimson_bulwark": "\u7edb\u7ea2\u91cd\u76fe", "/items/rainbow_bulwark": "\u5f69\u8679\u91cd\u76fe", "/items/holy_bulwark": "\u795e\u5723\u91cd\u76fe", "/items/wooden_bow": "\u6728\u5f13", "/items/birch_bow": "\u6866\u6728\u5f13", "/items/cedar_bow": "\u96ea\u677e\u5f13", "/items/purpleheart_bow": "\u7d2b\u5fc3\u5f13", "/items/ginkgo_bow": "\u94f6\u674f\u5f13", "/items/redwood_bow": "\u7ea2\u6749\u5f13", "/items/arcane_bow": "\u795e\u79d8\u5f13", "/items/stalactite_spear": "\u77f3\u949f\u957f\u67aa", "/items/granite_bludgeon": "\u82b1\u5c97\u5ca9\u5927\u68d2", "/items/furious_spear": "\u72c2\u6012\u957f\u67aa", "/items/furious_spear_refined": "\u72c2\u6012\u957f\u67aa\uff08\u7cbe\uff09", "/items/regal_sword": "\u541b\u738b\u4e4b\u5251", "/items/regal_sword_refined": "\u541b\u738b\u4e4b\u5251\uff08\u7cbe\uff09", "/items/chaotic_flail": "\u6df7\u6c8c\u8fde\u67b7", "/items/chaotic_flail_refined": "\u6df7\u6c8c\u8fde\u67b7\uff08\u7cbe\uff09", "/items/soul_hunter_crossbow": "\u7075\u9b42\u730e\u624b\u5f29", "/items/sundering_crossbow": "\u88c2\u7a7a\u4e4b\u5f29", "/items/sundering_crossbow_refined": "\u88c2\u7a7a\u4e4b\u5f29\uff08\u7cbe\uff09", "/items/frost_staff": "\u51b0\u971c\u6cd5\u6756", "/items/infernal_battlestaff": "\u70bc\u72f1\u6cd5\u6756", "/items/jackalope_staff": "\u9e7f\u89d2\u5154\u4e4b\u6756", "/items/rippling_trident": "\u6d9f\u6f2a\u4e09\u53c9\u621f", "/items/rippling_trident_refined": "\u6d9f\u6f2a\u4e09\u53c9\u621f\uff08\u7cbe\uff09", "/items/blooming_trident": "\u7efd\u653e\u4e09\u53c9\u621f", "/items/blooming_trident_refined": "\u7efd\u653e\u4e09\u53c9\u621f\uff08\u7cbe\uff09", "/items/blazing_trident": "\u70bd\u7130\u4e09\u53c9\u621f", "/items/blazing_trident_refined": "\u70bd\u7130\u4e09\u53c9\u621f\uff08\u7cbe\uff09", "/items/cheese_sword": "\u5976\u916a\u5251", "/items/verdant_sword": "\u7fe0\u7eff\u5251", "/items/azure_sword": "\u851a\u84dd\u5251", "/items/burble_sword": "\u6df1\u7d2b\u5251", "/items/crimson_sword": "\u7edb\u7ea2\u5251", "/items/rainbow_sword": "\u5f69\u8679\u5251", "/items/holy_sword": "\u795e\u5723\u5251", "/items/cheese_spear": "\u5976\u916a\u957f\u67aa", "/items/verdant_spear": "\u7fe0\u7eff\u957f\u67aa", "/items/azure_spear": "\u851a\u84dd\u957f\u67aa", "/items/burble_spear": "\u6df1\u7d2b\u957f\u67aa", "/items/crimson_spear": "\u7edb\u7ea2\u957f\u67aa", "/items/rainbow_spear": "\u5f69\u8679\u957f\u67aa", "/items/holy_spear": "\u795e\u5723\u957f\u67aa", "/items/cheese_mace": "\u5976\u916a\u9489\u5934\u9524", "/items/verdant_mace": "\u7fe0\u7eff\u9489\u5934\u9524", "/items/azure_mace": "\u851a\u84dd\u9489\u5934\u9524", "/items/burble_mace": "\u6df1\u7d2b\u9489\u5934\u9524", "/items/crimson_mace": "\u7edb\u7ea2\u9489\u5934\u9524", "/items/rainbow_mace": "\u5f69\u8679\u9489\u5934\u9524", "/items/holy_mace": "\u795e\u5723\u9489\u5934\u9524", "/items/wooden_crossbow": "\u6728\u5f29", "/items/birch_crossbow": "\u6866\u6728\u5f29", "/items/cedar_crossbow": "\u96ea\u677e\u5f29", "/items/purpleheart_crossbow": "\u7d2b\u5fc3\u5f29", "/items/ginkgo_crossbow": "\u94f6\u674f\u5f29", "/items/redwood_crossbow": "\u7ea2\u6749\u5f29", "/items/arcane_crossbow": "\u795e\u79d8\u5f29", "/items/wooden_water_staff": "\u6728\u5236\u6c34\u6cd5\u6756", "/items/birch_water_staff": "\u6866\u6728\u6c34\u6cd5\u6756", "/items/cedar_water_staff": "\u96ea\u677e\u6c34\u6cd5\u6756", "/items/purpleheart_water_staff": "\u7d2b\u5fc3\u6c34\u6cd5\u6756", "/items/ginkgo_water_staff": "\u94f6\u674f\u6c34\u6cd5\u6756", "/items/redwood_water_staff": "\u7ea2\u6749\u6c34\u6cd5\u6756", "/items/arcane_water_staff": "\u795e\u79d8\u6c34\u6cd5\u6756", "/items/wooden_nature_staff": "\u6728\u5236\u81ea\u7136\u6cd5\u6756", "/items/birch_nature_staff": "\u6866\u6728\u81ea\u7136\u6cd5\u6756", "/items/cedar_nature_staff": "\u96ea\u677e\u81ea\u7136\u6cd5\u6756", "/items/purpleheart_nature_staff": "\u7d2b\u5fc3\u81ea\u7136\u6cd5\u6756", "/items/ginkgo_nature_staff": "\u94f6\u674f\u81ea\u7136\u6cd5\u6756", "/items/redwood_nature_staff": "\u7ea2\u6749\u81ea\u7136\u6cd5\u6756", "/items/arcane_nature_staff": "\u795e\u79d8\u81ea\u7136\u6cd5\u6756", "/items/wooden_fire_staff": "\u6728\u5236\u706b\u6cd5\u6756", "/items/birch_fire_staff": "\u6866\u6728\u706b\u6cd5\u6756", "/items/cedar_fire_staff": "\u96ea\u677e\u706b\u6cd5\u6756", "/items/purpleheart_fire_staff": "\u7d2b\u5fc3\u706b\u6cd5\u6756", "/items/ginkgo_fire_staff": "\u94f6\u674f\u706b\u6cd5\u6756", "/items/redwood_fire_staff": "\u7ea2\u6749\u706b\u6cd5\u6756", "/items/arcane_fire_staff": "\u795e\u79d8\u706b\u6cd5\u6756", "/items/eye_watch": "\u638c\u4e0a\u76d1\u5de5", "/items/snake_fang_dirk": "\u86c7\u7259\u77ed\u5251", "/items/vision_shield": "\u89c6\u89c9\u76fe", "/items/gobo_defender": "\u54e5\u5e03\u6797\u9632\u5fa1\u8005", "/items/vampire_fang_dirk": "\u5438\u8840\u9b3c\u77ed\u5251", "/items/knights_aegis": "\u9a91\u58eb\u76fe", "/items/knights_aegis_refined": "\u9a91\u58eb\u76fe\uff08\u7cbe\uff09", "/items/treant_shield": "\u6811\u4eba\u76fe", "/items/manticore_shield": "\u874e\u72ee\u76fe", "/items/tome_of_healing": "\u6cbb\u7597\u4e4b\u4e66", "/items/tome_of_the_elements": "\u5143\u7d20\u4e4b\u4e66", "/items/watchful_relic": "\u8b66\u6212\u9057\u7269", "/items/bishops_codex": "\u4e3b\u6559\u6cd5\u5178", "/items/bishops_codex_refined": "\u4e3b\u6559\u6cd5\u5178\uff08\u7cbe\uff09", "/items/cheese_buckler": "\u5976\u916a\u5706\u76fe", "/items/verdant_buckler": "\u7fe0\u7eff\u5706\u76fe", "/items/azure_buckler": "\u851a\u84dd\u5706\u76fe", "/items/burble_buckler": "\u6df1\u7d2b\u5706\u76fe", "/items/crimson_buckler": "\u7edb\u7ea2\u5706\u76fe", "/items/rainbow_buckler": "\u5f69\u8679\u5706\u76fe", "/items/holy_buckler": "\u795e\u5723\u5706\u76fe", "/items/wooden_shield": "\u6728\u76fe", "/items/birch_shield": "\u6866\u6728\u76fe", "/items/cedar_shield": "\u96ea\u677e\u76fe", "/items/purpleheart_shield": "\u7d2b\u5fc3\u76fe", "/items/ginkgo_shield": "\u94f6\u674f\u76fe", "/items/redwood_shield": "\u7ea2\u6749\u76fe", "/items/arcane_shield": "\u795e\u79d8\u76fe", "/items/gatherer_cape": "\u91c7\u96c6\u8005\u62ab\u98ce", "/items/gatherer_cape_refined": "\u91c7\u96c6\u8005\u62ab\u98ce\uff08\u7cbe\uff09", "/items/artificer_cape": "\u5de5\u5320\u62ab\u98ce", "/items/artificer_cape_refined": "\u5de5\u5320\u62ab\u98ce\uff08\u7cbe\uff09", "/items/culinary_cape": "\u53a8\u5e08\u62ab\u98ce", "/items/culinary_cape_refined": "\u53a8\u5e08\u62ab\u98ce\uff08\u7cbe\uff09", "/items/chance_cape": "\u673a\u7f18\u62ab\u98ce", "/items/chance_cape_refined": "\u673a\u7f18\u62ab\u98ce\uff08\u7cbe\uff09", "/items/sinister_cape": "\u9634\u68ee\u62ab\u98ce", "/items/sinister_cape_refined": "\u9634\u68ee\u62ab\u98ce\uff08\u7cbe\uff09", "/items/chimerical_quiver": "\u5947\u5e7b\u7bad\u888b", "/items/chimerical_quiver_refined": "\u5947\u5e7b\u7bad\u888b\uff08\u7cbe\uff09", "/items/enchanted_cloak": "\u79d8\u6cd5\u62ab\u98ce", "/items/enchanted_cloak_refined": "\u79d8\u6cd5\u62ab\u98ce\uff08\u7cbe\uff09", "/items/red_culinary_hat": "\u7ea2\u8272\u53a8\u5e08\u5e3d", "/items/snail_shell_helmet": "\u8717\u725b\u58f3\u5934\u76d4", "/items/vision_helmet": "\u89c6\u89c9\u5934\u76d4", "/items/fluffy_red_hat": "\u84ec\u677e\u7ea2\u5e3d\u5b50", "/items/corsair_helmet": "\u63a0\u593a\u8005\u5934\u76d4", "/items/corsair_helmet_refined": "\u63a0\u593a\u8005\u5934\u76d4\uff08\u7cbe\uff09", "/items/acrobatic_hood": "\u6742\u6280\u5e08\u515c\u5e3d", "/items/acrobatic_hood_refined": "\u6742\u6280\u5e08\u515c\u5e3d\uff08\u7cbe\uff09", "/items/magicians_hat": "\u9b54\u672f\u5e08\u5e3d", "/items/magicians_hat_refined": "\u9b54\u672f\u5e08\u5e3d\uff08\u7cbe\uff09", "/items/cheese_helmet": "\u5976\u916a\u5934\u76d4", "/items/verdant_helmet": "\u7fe0\u7eff\u5934\u76d4", "/items/azure_helmet": "\u851a\u84dd\u5934\u76d4", "/items/burble_helmet": "\u6df1\u7d2b\u5934\u76d4", "/items/crimson_helmet": "\u7edb\u7ea2\u5934\u76d4", "/items/rainbow_helmet": "\u5f69\u8679\u5934\u76d4", "/items/holy_helmet": "\u795e\u5723\u5934\u76d4", "/items/rough_hood": "\u7c97\u7cd9\u515c\u5e3d", "/items/reptile_hood": "\u722c\u884c\u52a8\u7269\u515c\u5e3d", "/items/gobo_hood": "\u54e5\u5e03\u6797\u515c\u5e3d", "/items/beast_hood": "\u91ce\u517d\u515c\u5e3d", "/items/umbral_hood": "\u6697\u5f71\u515c\u5e3d", "/items/cotton_hat": "\u68c9\u5e3d", "/items/linen_hat": "\u4e9a\u9ebb\u5e3d", "/items/bamboo_hat": "\u7af9\u5e3d", "/items/silk_hat": "\u4e1d\u5e3d", "/items/radiant_hat": "\u5149\u8f89\u5e3d", "/items/dairyhands_top": "\u6324\u5976\u5de5\u4e0a\u8863", "/items/foragers_top": "\u91c7\u6458\u8005\u4e0a\u8863", "/items/lumberjacks_top": "\u4f10\u6728\u5de5\u4e0a\u8863", "/items/cheesemakers_top": "\u5976\u916a\u5e08\u4e0a\u8863", "/items/crafters_top": "\u5de5\u5320\u4e0a\u8863", "/items/tailors_top": "\u88c1\u7f1d\u4e0a\u8863", "/items/chefs_top": "\u53a8\u5e08\u4e0a\u8863", "/items/brewers_top": "\u996e\u54c1\u5e08\u4e0a\u8863", "/items/alchemists_top": "\u70bc\u91d1\u5e08\u4e0a\u8863", "/items/enhancers_top": "\u5f3a\u5316\u5e08\u4e0a\u8863", "/items/gator_vest": "\u9cc4\u9c7c\u9a6c\u7532", "/items/turtle_shell_body": "\u9f9f\u58f3\u80f8\u7532", "/items/colossus_plate_body": "\u5de8\u50cf\u80f8\u7532", "/items/demonic_plate_body": "\u6076\u9b54\u80f8\u7532", "/items/anchorbound_plate_body": "\u951a\u5b9a\u80f8\u7532", "/items/anchorbound_plate_body_refined": "\u951a\u5b9a\u80f8\u7532\uff08\u7cbe\uff09", "/items/maelstrom_plate_body": "\u6012\u6d9b\u80f8\u7532", "/items/maelstrom_plate_body_refined": "\u6012\u6d9b\u80f8\u7532\uff08\u7cbe\uff09", "/items/marine_tunic": "\u6d77\u6d0b\u76ae\u8863", "/items/revenant_tunic": "\u4ea1\u7075\u76ae\u8863", "/items/griffin_tunic": "\u72ee\u9e6b\u76ae\u8863", "/items/kraken_tunic": "\u514b\u62c9\u80af\u76ae\u8863", "/items/kraken_tunic_refined": "\u514b\u62c9\u80af\u76ae\u8863\uff08\u7cbe\uff09", "/items/icy_robe_top": "\u51b0\u971c\u888d\u670d", "/items/flaming_robe_top": "\u70c8\u7130\u888d\u670d", "/items/luna_robe_top": "\u6708\u795e\u888d\u670d", "/items/royal_water_robe_top": "\u7687\u5bb6\u6c34\u7cfb\u888d\u670d", "/items/royal_water_robe_top_refined": "\u7687\u5bb6\u6c34\u7cfb\u888d\u670d\uff08\u7cbe\uff09", "/items/royal_nature_robe_top": "\u7687\u5bb6\u81ea\u7136\u7cfb\u888d\u670d", "/items/royal_nature_robe_top_refined": "\u7687\u5bb6\u81ea\u7136\u7cfb\u888d\u670d\uff08\u7cbe\uff09", "/items/royal_fire_robe_top": "\u7687\u5bb6\u706b\u7cfb\u888d\u670d", "/items/royal_fire_robe_top_refined": "\u7687\u5bb6\u706b\u7cfb\u888d\u670d\uff08\u7cbe\uff09", "/items/cheese_plate_body": "\u5976\u916a\u80f8\u7532", "/items/verdant_plate_body": "\u7fe0\u7eff\u80f8\u7532", "/items/azure_plate_body": "\u851a\u84dd\u80f8\u7532", "/items/burble_plate_body": "\u6df1\u7d2b\u80f8\u7532", "/items/crimson_plate_body": "\u7edb\u7ea2\u80f8\u7532", "/items/rainbow_plate_body": "\u5f69\u8679\u80f8\u7532", "/items/holy_plate_body": "\u795e\u5723\u80f8\u7532", "/items/rough_tunic": "\u7c97\u7cd9\u76ae\u8863", "/items/reptile_tunic": "\u722c\u884c\u52a8\u7269\u76ae\u8863", "/items/gobo_tunic": "\u54e5\u5e03\u6797\u76ae\u8863", "/items/beast_tunic": "\u91ce\u517d\u76ae\u8863", "/items/umbral_tunic": "\u6697\u5f71\u76ae\u8863", "/items/cotton_robe_top": "\u68c9\u888d\u670d", "/items/linen_robe_top": "\u4e9a\u9ebb\u888d\u670d", "/items/bamboo_robe_top": "\u7af9\u888d\u670d", "/items/silk_robe_top": "\u4e1d\u7ef8\u888d\u670d", "/items/radiant_robe_top": "\u5149\u8f89\u888d\u670d", "/items/dairyhands_bottoms": "\u6324\u5976\u5de5\u4e0b\u88c5", "/items/foragers_bottoms": "\u91c7\u6458\u8005\u4e0b\u88c5", "/items/lumberjacks_bottoms": "\u4f10\u6728\u5de5\u4e0b\u88c5", "/items/cheesemakers_bottoms": "\u5976\u916a\u5e08\u4e0b\u88c5", "/items/crafters_bottoms": "\u5de5\u5320\u4e0b\u88c5", "/items/tailors_bottoms": "\u88c1\u7f1d\u4e0b\u88c5", "/items/chefs_bottoms": "\u53a8\u5e08\u4e0b\u88c5", "/items/brewers_bottoms": "\u996e\u54c1\u5e08\u4e0b\u88c5", "/items/alchemists_bottoms": "\u70bc\u91d1\u5e08\u4e0b\u88c5", "/items/enhancers_bottoms": "\u5f3a\u5316\u5e08\u4e0b\u88c5", "/items/turtle_shell_legs": "\u9f9f\u58f3\u817f\u7532", "/items/colossus_plate_legs": "\u5de8\u50cf\u817f\u7532", "/items/demonic_plate_legs": "\u6076\u9b54\u817f\u7532", "/items/anchorbound_plate_legs": "\u951a\u5b9a\u817f\u7532", "/items/anchorbound_plate_legs_refined": "\u951a\u5b9a\u817f\u7532\uff08\u7cbe\uff09", "/items/maelstrom_plate_legs": "\u6012\u6d9b\u817f\u7532", "/items/maelstrom_plate_legs_refined": "\u6012\u6d9b\u817f\u7532\uff08\u7cbe\uff09", "/items/marine_chaps": "\u822a\u6d77\u76ae\u88e4", "/items/revenant_chaps": "\u4ea1\u7075\u76ae\u88e4", "/items/griffin_chaps": "\u72ee\u9e6b\u76ae\u88e4", "/items/kraken_chaps": "\u514b\u62c9\u80af\u76ae\u88e4", "/items/kraken_chaps_refined": "\u514b\u62c9\u80af\u76ae\u88e4\uff08\u7cbe\uff09", "/items/icy_robe_bottoms": "\u51b0\u971c\u888d\u88d9", "/items/flaming_robe_bottoms": "\u70c8\u7130\u888d\u88d9", "/items/luna_robe_bottoms": "\u6708\u795e\u888d\u88d9", "/items/royal_water_robe_bottoms": "\u7687\u5bb6\u6c34\u7cfb\u888d\u88d9", "/items/royal_water_robe_bottoms_refined": "\u7687\u5bb6\u6c34\u7cfb\u888d\u88d9\uff08\u7cbe\uff09", "/items/royal_nature_robe_bottoms": "\u7687\u5bb6\u81ea\u7136\u7cfb\u888d\u88d9", "/items/royal_nature_robe_bottoms_refined": "\u7687\u5bb6\u81ea\u7136\u7cfb\u888d\u88d9\uff08\u7cbe\uff09", "/items/royal_fire_robe_bottoms": "\u7687\u5bb6\u706b\u7cfb\u888d\u88d9", "/items/royal_fire_robe_bottoms_refined": "\u7687\u5bb6\u706b\u7cfb\u888d\u88d9\uff08\u7cbe\uff09", "/items/cheese_plate_legs": "\u5976\u916a\u817f\u7532", "/items/verdant_plate_legs": "\u7fe0\u7eff\u817f\u7532", "/items/azure_plate_legs": "\u851a\u84dd\u817f\u7532", "/items/burble_plate_legs": "\u6df1\u7d2b\u817f\u7532", "/items/crimson_plate_legs": "\u7edb\u7ea2\u817f\u7532", "/items/rainbow_plate_legs": "\u5f69\u8679\u817f\u7532", "/items/holy_plate_legs": "\u795e\u5723\u817f\u7532", "/items/rough_chaps": "\u7c97\u7cd9\u76ae\u88e4", "/items/reptile_chaps": "\u722c\u884c\u52a8\u7269\u76ae\u88e4", "/items/gobo_chaps": "\u54e5\u5e03\u6797\u76ae\u88e4", "/items/beast_chaps": "\u91ce\u517d\u76ae\u88e4", "/items/umbral_chaps": "\u6697\u5f71\u76ae\u88e4", "/items/cotton_robe_bottoms": "\u68c9\u888d\u88d9", "/items/linen_robe_bottoms": "\u4e9a\u9ebb\u888d\u88d9", "/items/bamboo_robe_bottoms": "\u7af9\u888d\u88d9", "/items/silk_robe_bottoms": "\u4e1d\u7ef8\u888d\u88d9", "/items/radiant_robe_bottoms": "\u5149\u8f89\u888d\u88d9", "/items/enchanted_gloves": "\u9644\u9b54\u624b\u5957", "/items/pincer_gloves": "\u87f9\u94b3\u624b\u5957", "/items/panda_gloves": "\u718a\u732b\u624b\u5957", "/items/magnetic_gloves": "\u78c1\u529b\u624b\u5957", "/items/dodocamel_gauntlets": "\u6e21\u6e21\u9a7c\u62a4\u624b", "/items/dodocamel_gauntlets_refined": "\u6e21\u6e21\u9a7c\u62a4\u624b\uff08\u7cbe\uff09", "/items/sighted_bracers": "\u7784\u51c6\u62a4\u8155", "/items/marksman_bracers": "\u795e\u5c04\u62a4\u8155", "/items/marksman_bracers_refined": "\u795e\u5c04\u62a4\u8155\uff08\u7cbe\uff09", "/items/chrono_gloves": "\u65f6\u7a7a\u624b\u5957", "/items/cheese_gauntlets": "\u5976\u916a\u62a4\u624b", "/items/verdant_gauntlets": "\u7fe0\u7eff\u62a4\u624b", "/items/azure_gauntlets": "\u851a\u84dd\u62a4\u624b", "/items/burble_gauntlets": "\u6df1\u7d2b\u62a4\u624b", "/items/crimson_gauntlets": "\u7edb\u7ea2\u62a4\u624b", "/items/rainbow_gauntlets": "\u5f69\u8679\u62a4\u624b", "/items/holy_gauntlets": "\u795e\u5723\u62a4\u624b", "/items/rough_bracers": "\u7c97\u7cd9\u62a4\u8155", "/items/reptile_bracers": "\u722c\u884c\u52a8\u7269\u62a4\u8155", "/items/gobo_bracers": "\u54e5\u5e03\u6797\u62a4\u8155", "/items/beast_bracers": "\u91ce\u517d\u62a4\u8155", "/items/umbral_bracers": "\u6697\u5f71\u62a4\u8155", "/items/cotton_gloves": "\u68c9\u624b\u5957", "/items/linen_gloves": "\u4e9a\u9ebb\u624b\u5957", "/items/bamboo_gloves": "\u7af9\u624b\u5957", "/items/silk_gloves": "\u4e1d\u624b\u5957", "/items/radiant_gloves": "\u5149\u8f89\u624b\u5957", "/items/collectors_boots": "\u6536\u85cf\u5bb6\u9774", "/items/shoebill_shoes": "\u9cb8\u5934\u9e73\u978b", "/items/black_bear_shoes": "\u9ed1\u718a\u978b", "/items/grizzly_bear_shoes": "\u68d5\u718a\u978b", "/items/polar_bear_shoes": "\u5317\u6781\u718a\u978b", "/items/pathbreaker_boots": "\u5f00\u8def\u8005\u9774", "/items/pathbreaker_boots_refined": "\u5f00\u8def\u8005\u9774\uff08\u7cbe\uff09", "/items/centaur_boots": "\u534a\u4eba\u9a6c\u9774", "/items/pathfinder_boots": "\u63a2\u8def\u8005\u9774", "/items/pathfinder_boots_refined": "\u63a2\u8def\u8005\u9774\uff08\u7cbe\uff09", "/items/sorcerer_boots": "\u5deb\u5e08\u9774", "/items/pathseeker_boots": "\u5bfb\u8def\u8005\u9774", "/items/pathseeker_boots_refined": "\u5bfb\u8def\u8005\u9774\uff08\u7cbe\uff09", "/items/cheese_boots": "\u5976\u916a\u9774", "/items/verdant_boots": "\u7fe0\u7eff\u9774", "/items/azure_boots": "\u851a\u84dd\u9774", "/items/burble_boots": "\u6df1\u7d2b\u9774", "/items/crimson_boots": "\u7edb\u7ea2\u9774", "/items/rainbow_boots": "\u5f69\u8679\u9774", "/items/holy_boots": "\u795e\u5723\u9774", "/items/rough_boots": "\u7c97\u7cd9\u9774", "/items/reptile_boots": "\u722c\u884c\u52a8\u7269\u9774", "/items/gobo_boots": "\u54e5\u5e03\u6797\u9774", "/items/beast_boots": "\u91ce\u517d\u9774", "/items/umbral_boots": "\u6697\u5f71\u9774", "/items/cotton_boots": "\u68c9\u9774", "/items/linen_boots": "\u4e9a\u9ebb\u9774", "/items/bamboo_boots": "\u7af9\u9774", "/items/silk_boots": "\u4e1d\u9774", "/items/radiant_boots": "\u5149\u8f89\u9774", "/items/small_pouch": "\u5c0f\u888b\u5b50", "/items/medium_pouch": "\u4e2d\u888b\u5b50", "/items/large_pouch": "\u5927\u888b\u5b50", "/items/giant_pouch": "\u5de8\u5927\u888b\u5b50", "/items/gluttonous_pouch": "\u8d2a\u98df\u4e4b\u888b", "/items/guzzling_pouch": "\u66b4\u996e\u4e4b\u56ca", "/items/necklace_of_efficiency": "\u6548\u7387\u9879\u94fe", "/items/fighter_necklace": "\u6218\u58eb\u9879\u94fe", "/items/ranger_necklace": "\u5c04\u624b\u9879\u94fe", "/items/wizard_necklace": "\u5deb\u5e08\u9879\u94fe", "/items/necklace_of_wisdom": "\u7ecf\u9a8c\u9879\u94fe", "/items/necklace_of_speed": "\u901f\u5ea6\u9879\u94fe", "/items/philosophers_necklace": "\u8d24\u8005\u9879\u94fe", "/items/earrings_of_gathering": "\u91c7\u96c6\u8033\u73af", "/items/earrings_of_essence_find": "\u7cbe\u534e\u53d1\u73b0\u8033\u73af", "/items/earrings_of_armor": "\u62a4\u7532\u8033\u73af", "/items/earrings_of_regeneration": "\u6062\u590d\u8033\u73af", "/items/earrings_of_resistance": "\u6297\u6027\u8033\u73af", "/items/earrings_of_rare_find": "\u7a00\u6709\u53d1\u73b0\u8033\u73af", "/items/earrings_of_critical_strike": "\u66b4\u51fb\u8033\u73af", "/items/philosophers_earrings": "\u8d24\u8005\u8033\u73af", "/items/ring_of_gathering": "\u91c7\u96c6\u6212\u6307", "/items/ring_of_essence_find": "\u7cbe\u534e\u53d1\u73b0\u6212\u6307", "/items/ring_of_armor": "\u62a4\u7532\u6212\u6307", "/items/ring_of_regeneration": "\u6062\u590d\u6212\u6307", "/items/ring_of_resistance": "\u6297\u6027\u6212\u6307", "/items/ring_of_rare_find": "\u7a00\u6709\u53d1\u73b0\u6212\u6307", "/items/ring_of_critical_strike": "\u66b4\u51fb\u6212\u6307", "/items/philosophers_ring": "\u8d24\u8005\u6212\u6307", "/items/trainee_milking_charm": "\u5b9e\u4e60\u6324\u5976\u62a4\u7b26", "/items/basic_milking_charm": "\u57fa\u7840\u6324\u5976\u62a4\u7b26", "/items/advanced_milking_charm": "\u9ad8\u7ea7\u6324\u5976\u62a4\u7b26", "/items/expert_milking_charm": "\u4e13\u5bb6\u6324\u5976\u62a4\u7b26", "/items/master_milking_charm": "\u5927\u5e08\u6324\u5976\u62a4\u7b26", "/items/grandmaster_milking_charm": "\u5b97\u5e08\u6324\u5976\u62a4\u7b26", "/items/trainee_foraging_charm": "\u5b9e\u4e60\u91c7\u6458\u62a4\u7b26", "/items/basic_foraging_charm": "\u57fa\u7840\u91c7\u6458\u62a4\u7b26", "/items/advanced_foraging_charm": "\u9ad8\u7ea7\u91c7\u6458\u62a4\u7b26", "/items/expert_foraging_charm": "\u4e13\u5bb6\u91c7\u6458\u62a4\u7b26", "/items/master_foraging_charm": "\u5927\u5e08\u91c7\u6458\u62a4\u7b26", "/items/grandmaster_foraging_charm": "\u5b97\u5e08\u91c7\u6458\u62a4\u7b26", "/items/trainee_woodcutting_charm": "\u5b9e\u4e60\u4f10\u6728\u62a4\u7b26", "/items/basic_woodcutting_charm": "\u57fa\u7840\u4f10\u6728\u62a4\u7b26", "/items/advanced_woodcutting_charm": "\u9ad8\u7ea7\u4f10\u6728\u62a4\u7b26", "/items/expert_woodcutting_charm": "\u4e13\u5bb6\u4f10\u6728\u62a4\u7b26", "/items/master_woodcutting_charm": "\u5927\u5e08\u4f10\u6728\u62a4\u7b26", "/items/grandmaster_woodcutting_charm": "\u5b97\u5e08\u4f10\u6728\u62a4\u7b26", "/items/trainee_cheesesmithing_charm": "\u5b9e\u4e60\u5976\u916a\u953b\u9020\u62a4\u7b26", "/items/basic_cheesesmithing_charm": "\u57fa\u7840\u5976\u916a\u953b\u9020\u62a4\u7b26", "/items/advanced_cheesesmithing_charm": "\u9ad8\u7ea7\u5976\u916a\u953b\u9020\u62a4\u7b26", "/items/expert_cheesesmithing_charm": "\u4e13\u5bb6\u5976\u916a\u953b\u9020\u62a4\u7b26", "/items/master_cheesesmithing_charm": "\u5927\u5e08\u5976\u916a\u953b\u9020\u62a4\u7b26", "/items/grandmaster_cheesesmithing_charm": "\u5b97\u5e08\u5976\u916a\u953b\u9020\u62a4\u7b26", "/items/trainee_crafting_charm": "\u5b9e\u4e60\u5236\u4f5c\u62a4\u7b26", "/items/basic_crafting_charm": "\u57fa\u7840\u5236\u4f5c\u62a4\u7b26", "/items/advanced_crafting_charm": "\u9ad8\u7ea7\u5236\u4f5c\u62a4\u7b26", "/items/expert_crafting_charm": "\u4e13\u5bb6\u5236\u4f5c\u62a4\u7b26", "/items/master_crafting_charm": "\u5927\u5e08\u5236\u4f5c\u62a4\u7b26", "/items/grandmaster_crafting_charm": "\u5b97\u5e08\u5236\u4f5c\u62a4\u7b26", "/items/trainee_tailoring_charm": "\u5b9e\u4e60\u7f1d\u7eab\u62a4\u7b26", "/items/basic_tailoring_charm": "\u57fa\u7840\u7f1d\u7eab\u62a4\u7b26", "/items/advanced_tailoring_charm": "\u9ad8\u7ea7\u7f1d\u7eab\u62a4\u7b26", "/items/expert_tailoring_charm": "\u4e13\u5bb6\u7f1d\u7eab\u62a4\u7b26", "/items/master_tailoring_charm": "\u5927\u5e08\u7f1d\u7eab\u62a4\u7b26", "/items/grandmaster_tailoring_charm": "\u5b97\u5e08\u7f1d\u7eab\u62a4\u7b26", "/items/trainee_cooking_charm": "\u5b9e\u4e60\u70f9\u996a\u62a4\u7b26", "/items/basic_cooking_charm": "\u57fa\u7840\u70f9\u996a\u62a4\u7b26", "/items/advanced_cooking_charm": "\u9ad8\u7ea7\u70f9\u996a\u62a4\u7b26", "/items/expert_cooking_charm": "\u4e13\u5bb6\u70f9\u996a\u62a4\u7b26", "/items/master_cooking_charm": "\u5927\u5e08\u70f9\u996a\u62a4\u7b26", "/items/grandmaster_cooking_charm": "\u5b97\u5e08\u70f9\u996a\u62a4\u7b26", "/items/trainee_brewing_charm": "\u5b9e\u4e60\u51b2\u6ce1\u62a4\u7b26", "/items/basic_brewing_charm": "\u57fa\u7840\u51b2\u6ce1\u62a4\u7b26", "/items/advanced_brewing_charm": "\u9ad8\u7ea7\u51b2\u6ce1\u62a4\u7b26", "/items/expert_brewing_charm": "\u4e13\u5bb6\u51b2\u6ce1\u62a4\u7b26", "/items/master_brewing_charm": "\u5927\u5e08\u51b2\u6ce1\u62a4\u7b26", "/items/grandmaster_brewing_charm": "\u5b97\u5e08\u51b2\u6ce1\u62a4\u7b26", "/items/trainee_alchemy_charm": "\u5b9e\u4e60\u70bc\u91d1\u62a4\u7b26", "/items/basic_alchemy_charm": "\u57fa\u7840\u70bc\u91d1\u62a4\u7b26", "/items/advanced_alchemy_charm": "\u9ad8\u7ea7\u70bc\u91d1\u62a4\u7b26", "/items/expert_alchemy_charm": "\u4e13\u5bb6\u70bc\u91d1\u62a4\u7b26", "/items/master_alchemy_charm": "\u5927\u5e08\u70bc\u91d1\u62a4\u7b26", "/items/grandmaster_alchemy_charm": "\u5b97\u5e08\u70bc\u91d1\u62a4\u7b26", "/items/trainee_enhancing_charm": "\u5b9e\u4e60\u5f3a\u5316\u62a4\u7b26", "/items/basic_enhancing_charm": "\u57fa\u7840\u5f3a\u5316\u62a4\u7b26", "/items/advanced_enhancing_charm": "\u9ad8\u7ea7\u5f3a\u5316\u62a4\u7b26", "/items/expert_enhancing_charm": "\u4e13\u5bb6\u5f3a\u5316\u62a4\u7b26", "/items/master_enhancing_charm": "\u5927\u5e08\u5f3a\u5316\u62a4\u7b26", "/items/grandmaster_enhancing_charm": "\u5b97\u5e08\u5f3a\u5316\u62a4\u7b26", "/items/trainee_stamina_charm": "\u5b9e\u4e60\u8010\u529b\u62a4\u7b26", "/items/basic_stamina_charm": "\u57fa\u7840\u8010\u529b\u62a4\u7b26", "/items/advanced_stamina_charm": "\u9ad8\u7ea7\u8010\u529b\u62a4\u7b26", "/items/expert_stamina_charm": "\u4e13\u5bb6\u8010\u529b\u62a4\u7b26", "/items/master_stamina_charm": "\u5927\u5e08\u8010\u529b\u62a4\u7b26", "/items/grandmaster_stamina_charm": "\u5b97\u5e08\u8010\u529b\u62a4\u7b26", "/items/trainee_intelligence_charm": "\u5b9e\u4e60\u667a\u529b\u62a4\u7b26", "/items/basic_intelligence_charm": "\u57fa\u7840\u667a\u529b\u62a4\u7b26", "/items/advanced_intelligence_charm": "\u9ad8\u7ea7\u667a\u529b\u62a4\u7b26", "/items/expert_intelligence_charm": "\u4e13\u5bb6\u667a\u529b\u62a4\u7b26", "/items/master_intelligence_charm": "\u5927\u5e08\u667a\u529b\u62a4\u7b26", "/items/grandmaster_intelligence_charm": "\u5b97\u5e08\u667a\u529b\u62a4\u7b26", "/items/trainee_attack_charm": "\u5b9e\u4e60\u653b\u51fb\u62a4\u7b26", "/items/basic_attack_charm": "\u57fa\u7840\u653b\u51fb\u62a4\u7b26", "/items/advanced_attack_charm": "\u9ad8\u7ea7\u653b\u51fb\u62a4\u7b26", "/items/expert_attack_charm": "\u4e13\u5bb6\u653b\u51fb\u62a4\u7b26", "/items/master_attack_charm": "\u5927\u5e08\u653b\u51fb\u62a4\u7b26", "/items/grandmaster_attack_charm": "\u5b97\u5e08\u653b\u51fb\u62a4\u7b26", "/items/trainee_defense_charm": "\u5b9e\u4e60\u9632\u5fa1\u62a4\u7b26", "/items/basic_defense_charm": "\u57fa\u7840\u9632\u5fa1\u62a4\u7b26", "/items/advanced_defense_charm": "\u9ad8\u7ea7\u9632\u5fa1\u62a4\u7b26", "/items/expert_defense_charm": "\u4e13\u5bb6\u9632\u5fa1\u62a4\u7b26", "/items/master_defense_charm": "\u5927\u5e08\u9632\u5fa1\u62a4\u7b26", "/items/grandmaster_defense_charm": "\u5b97\u5e08\u9632\u5fa1\u62a4\u7b26", "/items/trainee_melee_charm": "\u5b9e\u4e60\u8fd1\u6218\u62a4\u7b26", "/items/basic_melee_charm": "\u57fa\u7840\u8fd1\u6218\u62a4\u7b26", "/items/advanced_melee_charm": "\u9ad8\u7ea7\u8fd1\u6218\u62a4\u7b26", "/items/expert_melee_charm": "\u4e13\u5bb6\u8fd1\u6218\u62a4\u7b26", "/items/master_melee_charm": "\u5927\u5e08\u8fd1\u6218\u62a4\u7b26", "/items/grandmaster_melee_charm": "\u5b97\u5e08\u8fd1\u6218\u62a4\u7b26", "/items/trainee_ranged_charm": "\u5b9e\u4e60\u8fdc\u7a0b\u62a4\u7b26", "/items/basic_ranged_charm": "\u57fa\u7840\u8fdc\u7a0b\u62a4\u7b26", "/items/advanced_ranged_charm": "\u9ad8\u7ea7\u8fdc\u7a0b\u62a4\u7b26", "/items/expert_ranged_charm": "\u4e13\u5bb6\u8fdc\u7a0b\u62a4\u7b26", "/items/master_ranged_charm": "\u5927\u5e08\u8fdc\u7a0b\u62a4\u7b26", "/items/grandmaster_ranged_charm": "\u5b97\u5e08\u8fdc\u7a0b\u62a4\u7b26", "/items/trainee_magic_charm": "\u5b9e\u4e60\u9b54\u6cd5\u62a4\u7b26", "/items/basic_magic_charm": "\u57fa\u7840\u9b54\u6cd5\u62a4\u7b26", "/items/advanced_magic_charm": "\u9ad8\u7ea7\u9b54\u6cd5\u62a4\u7b26", "/items/expert_magic_charm": "\u4e13\u5bb6\u9b54\u6cd5\u62a4\u7b26", "/items/master_magic_charm": "\u5927\u5e08\u9b54\u6cd5\u62a4\u7b26", "/items/grandmaster_magic_charm": "\u5b97\u5e08\u9b54\u6cd5\u62a4\u7b26", "/items/basic_task_badge": "\u57fa\u7840\u4efb\u52a1\u5fbd\u7ae0", "/items/advanced_task_badge": "\u9ad8\u7ea7\u4efb\u52a1\u5fbd\u7ae0", "/items/expert_task_badge": "\u4e13\u5bb6\u4efb\u52a1\u5fbd\u7ae0", "/items/celestial_brush": "\u661f\u7a7a\u5237\u5b50", "/items/cheese_brush": "\u5976\u916a\u5237\u5b50", "/items/verdant_brush": "\u7fe0\u7eff\u5237\u5b50", "/items/azure_brush": "\u851a\u84dd\u5237\u5b50", "/items/burble_brush": "\u6df1\u7d2b\u5237\u5b50", "/items/crimson_brush": "\u7edb\u7ea2\u5237\u5b50", "/items/rainbow_brush": "\u5f69\u8679\u5237\u5b50", "/items/holy_brush": "\u795e\u5723\u5237\u5b50", "/items/celestial_shears": "\u661f\u7a7a\u526a\u5200", "/items/cheese_shears": "\u5976\u916a\u526a\u5200", "/items/verdant_shears": "\u7fe0\u7eff\u526a\u5200", "/items/azure_shears": "\u851a\u84dd\u526a\u5200", "/items/burble_shears": "\u6df1\u7d2b\u526a\u5200", "/items/crimson_shears": "\u7edb\u7ea2\u526a\u5200", "/items/rainbow_shears": "\u5f69\u8679\u526a\u5200", "/items/holy_shears": "\u795e\u5723\u526a\u5200", "/items/celestial_hatchet": "\u661f\u7a7a\u65a7\u5934", "/items/cheese_hatchet": "\u5976\u916a\u65a7\u5934", "/items/verdant_hatchet": "\u7fe0\u7eff\u65a7\u5934", "/items/azure_hatchet": "\u851a\u84dd\u65a7\u5934", "/items/burble_hatchet": "\u6df1\u7d2b\u65a7\u5934", "/items/crimson_hatchet": "\u7edb\u7ea2\u65a7\u5934", "/items/rainbow_hatchet": "\u5f69\u8679\u65a7\u5934", "/items/holy_hatchet": "\u795e\u5723\u65a7\u5934", "/items/celestial_hammer": "\u661f\u7a7a\u9524\u5b50", "/items/cheese_hammer": "\u5976\u916a\u9524\u5b50", "/items/verdant_hammer": "\u7fe0\u7eff\u9524\u5b50", "/items/azure_hammer": "\u851a\u84dd\u9524\u5b50", "/items/burble_hammer": "\u6df1\u7d2b\u9524\u5b50", "/items/crimson_hammer": "\u7edb\u7ea2\u9524\u5b50", "/items/rainbow_hammer": "\u5f69\u8679\u9524\u5b50", "/items/holy_hammer": "\u795e\u5723\u9524\u5b50", "/items/celestial_chisel": "\u661f\u7a7a\u51ff\u5b50", "/items/cheese_chisel": "\u5976\u916a\u51ff\u5b50", "/items/verdant_chisel": "\u7fe0\u7eff\u51ff\u5b50", "/items/azure_chisel": "\u851a\u84dd\u51ff\u5b50", "/items/burble_chisel": "\u6df1\u7d2b\u51ff\u5b50", "/items/crimson_chisel": "\u7edb\u7ea2\u51ff\u5b50", "/items/rainbow_chisel": "\u5f69\u8679\u51ff\u5b50", "/items/holy_chisel": "\u795e\u5723\u51ff\u5b50", "/items/celestial_needle": "\u661f\u7a7a\u9488", "/items/cheese_needle": "\u5976\u916a\u9488", "/items/verdant_needle": "\u7fe0\u7eff\u9488", "/items/azure_needle": "\u851a\u84dd\u9488", "/items/burble_needle": "\u6df1\u7d2b\u9488", "/items/crimson_needle": "\u7edb\u7ea2\u9488", "/items/rainbow_needle": "\u5f69\u8679\u9488", "/items/holy_needle": "\u795e\u5723\u9488", "/items/celestial_spatula": "\u661f\u7a7a\u9505\u94f2", "/items/cheese_spatula": "\u5976\u916a\u9505\u94f2", "/items/verdant_spatula": "\u7fe0\u7eff\u9505\u94f2", "/items/azure_spatula": "\u851a\u84dd\u9505\u94f2", "/items/burble_spatula": "\u6df1\u7d2b\u9505\u94f2", "/items/crimson_spatula": "\u7edb\u7ea2\u9505\u94f2", "/items/rainbow_spatula": "\u5f69\u8679\u9505\u94f2", "/items/holy_spatula": "\u795e\u5723\u9505\u94f2", "/items/celestial_pot": "\u661f\u7a7a\u58f6", "/items/cheese_pot": "\u5976\u916a\u58f6", "/items/verdant_pot": "\u7fe0\u7eff\u58f6", "/items/azure_pot": "\u851a\u84dd\u58f6", "/items/burble_pot": "\u6df1\u7d2b\u58f6", "/items/crimson_pot": "\u7edb\u7ea2\u58f6", "/items/rainbow_pot": "\u5f69\u8679\u58f6", "/items/holy_pot": "\u795e\u5723\u58f6", "/items/celestial_alembic": "\u661f\u7a7a\u84b8\u998f\u5668", "/items/cheese_alembic": "\u5976\u916a\u84b8\u998f\u5668", "/items/verdant_alembic": "\u7fe0\u7eff\u84b8\u998f\u5668", "/items/azure_alembic": "\u851a\u84dd\u84b8\u998f\u5668", "/items/burble_alembic": "\u6df1\u7d2b\u84b8\u998f\u5668", "/items/crimson_alembic": "\u7edb\u7ea2\u84b8\u998f\u5668", "/items/rainbow_alembic": "\u5f69\u8679\u84b8\u998f\u5668", "/items/holy_alembic": "\u795e\u5723\u84b8\u998f\u5668", "/items/celestial_enhancer": "\u661f\u7a7a\u5f3a\u5316\u5668", "/items/cheese_enhancer": "\u5976\u916a\u5f3a\u5316\u5668", "/items/verdant_enhancer": "\u7fe0\u7eff\u5f3a\u5316\u5668", "/items/azure_enhancer": "\u851a\u84dd\u5f3a\u5316\u5668", "/items/burble_enhancer": "\u6df1\u7d2b\u5f3a\u5316\u5668", "/items/crimson_enhancer": "\u7edb\u7ea2\u5f3a\u5316\u5668", "/items/rainbow_enhancer": "\u5f69\u8679\u5f3a\u5316\u5668", "/items/holy_enhancer": "\u795e\u5723\u5f3a\u5316\u5668", "/items/milk": "\u725b\u5976", "/items/verdant_milk": "\u7fe0\u7eff\u725b\u5976", "/items/azure_milk": "\u851a\u84dd\u725b\u5976", "/items/burble_milk": "\u6df1\u7d2b\u725b\u5976", "/items/crimson_milk": "\u7edb\u7ea2\u725b\u5976", "/items/rainbow_milk": "\u5f69\u8679\u725b\u5976", "/items/holy_milk": "\u795e\u5723\u725b\u5976", "/items/cheese": "\u5976\u916a", "/items/verdant_cheese": "\u7fe0\u7eff\u5976\u916a", "/items/azure_cheese": "\u851a\u84dd\u5976\u916a", "/items/burble_cheese": "\u6df1\u7d2b\u5976\u916a", "/items/crimson_cheese": "\u7edb\u7ea2\u5976\u916a", "/items/rainbow_cheese": "\u5f69\u8679\u5976\u916a", "/items/holy_cheese": "\u795e\u5723\u5976\u916a", "/items/log": "\u539f\u6728", "/items/birch_log": "\u767d\u6866\u539f\u6728", "/items/cedar_log": "\u96ea\u677e\u539f\u6728", "/items/purpleheart_log": "\u7d2b\u5fc3\u539f\u6728", "/items/ginkgo_log": "\u94f6\u674f\u539f\u6728", "/items/redwood_log": "\u7ea2\u6749\u539f\u6728", "/items/arcane_log": "\u795e\u79d8\u539f\u6728", "/items/lumber": "\u6728\u677f", "/items/birch_lumber": "\u767d\u6866\u6728\u677f", "/items/cedar_lumber": "\u96ea\u677e\u6728\u677f", "/items/purpleheart_lumber": "\u7d2b\u5fc3\u6728\u677f", "/items/ginkgo_lumber": "\u94f6\u674f\u6728\u677f", "/items/redwood_lumber": "\u7ea2\u6749\u6728\u677f", "/items/arcane_lumber": "\u795e\u79d8\u6728\u677f", "/items/rough_hide": "\u7c97\u7cd9\u517d\u76ae", "/items/reptile_hide": "\u722c\u884c\u52a8\u7269\u76ae", "/items/gobo_hide": "\u54e5\u5e03\u6797\u76ae", "/items/beast_hide": "\u91ce\u517d\u76ae", "/items/umbral_hide": "\u6697\u5f71\u76ae", "/items/rough_leather": "\u7c97\u7cd9\u76ae\u9769", "/items/reptile_leather": "\u722c\u884c\u52a8\u7269\u76ae\u9769", "/items/gobo_leather": "\u54e5\u5e03\u6797\u76ae\u9769", "/items/beast_leather": "\u91ce\u517d\u76ae\u9769", "/items/umbral_leather": "\u6697\u5f71\u76ae\u9769", "/items/cotton": "\u68c9\u82b1", "/items/flax": "\u4e9a\u9ebb", "/items/bamboo_branch": "\u7af9\u5b50", "/items/cocoon": "\u8695\u8327", "/items/radiant_fiber": "\u5149\u8f89\u7ea4\u7ef4", "/items/cotton_fabric": "\u68c9\u82b1\u5e03\u6599", "/items/linen_fabric": "\u4e9a\u9ebb\u5e03\u6599", "/items/bamboo_fabric": "\u7af9\u5b50\u5e03\u6599", "/items/silk_fabric": "\u4e1d\u7ef8", "/items/radiant_fabric": "\u5149\u8f89\u5e03\u6599", "/items/egg": "\u9e21\u86cb", "/items/wheat": "\u5c0f\u9ea6", "/items/sugar": "\u7cd6", "/items/blueberry": "\u84dd\u8393", "/items/blackberry": "\u9ed1\u8393", "/items/strawberry": "\u8349\u8393", "/items/mooberry": "\u54de\u8393", "/items/marsberry": "\u706b\u661f\u8393", "/items/spaceberry": "\u592a\u7a7a\u8393", "/items/apple": "\u82f9\u679c", "/items/orange": "\u6a59\u5b50", "/items/plum": "\u674e\u5b50", "/items/peach": "\u6843\u5b50", "/items/dragon_fruit": "\u706b\u9f99\u679c", "/items/star_fruit": "\u6768\u6843", "/items/arabica_coffee_bean": "\u4f4e\u7ea7\u5496\u5561\u8c46", "/items/robusta_coffee_bean": "\u4e2d\u7ea7\u5496\u5561\u8c46", "/items/liberica_coffee_bean": "\u9ad8\u7ea7\u5496\u5561\u8c46", "/items/excelsa_coffee_bean": "\u7279\u7ea7\u5496\u5561\u8c46", "/items/fieriosa_coffee_bean": "\u706b\u5c71\u5496\u5561\u8c46", "/items/spacia_coffee_bean": "\u592a\u7a7a\u5496\u5561\u8c46", "/items/green_tea_leaf": "\u7eff\u8336\u53f6", "/items/black_tea_leaf": "\u9ed1\u8336\u53f6", "/items/burble_tea_leaf": "\u7d2b\u8336\u53f6", "/items/moolong_tea_leaf": "\u54de\u9f99\u8336\u53f6", "/items/red_tea_leaf": "\u7ea2\u8336\u53f6", "/items/emp_tea_leaf": "\u865a\u7a7a\u8336\u53f6", "/items/catalyst_of_coinification": "\u70b9\u91d1\u50ac\u5316\u5242", "/items/catalyst_of_decomposition": "\u5206\u89e3\u50ac\u5316\u5242", "/items/catalyst_of_transmutation": "\u8f6c\u5316\u50ac\u5316\u5242", "/items/prime_catalyst": "\u81f3\u9ad8\u50ac\u5316\u5242", "/items/snake_fang": "\u86c7\u7259", "/items/shoebill_feather": "\u9cb8\u5934\u9e73\u7fbd\u6bdb", "/items/snail_shell": "\u8717\u725b\u58f3", "/items/crab_pincer": "\u87f9\u94b3", "/items/turtle_shell": "\u4e4c\u9f9f\u58f3", "/items/marine_scale": "\u6d77\u6d0b\u9cde\u7247", "/items/treant_bark": "\u6811\u76ae", "/items/centaur_hoof": "\u534a\u4eba\u9a6c\u8e44", "/items/luna_wing": "\u6708\u795e\u7ffc", "/items/gobo_rag": "\u54e5\u5e03\u6797\u62b9\u5e03", "/items/goggles": "\u62a4\u76ee\u955c", "/items/magnifying_glass": "\u653e\u5927\u955c", "/items/eye_of_the_watcher": "\u89c2\u5bdf\u8005\u4e4b\u773c", "/items/icy_cloth": "\u51b0\u971c\u7ec7\u7269", "/items/flaming_cloth": "\u70c8\u7130\u7ec7\u7269", "/items/sorcerers_sole": "\u9b54\u6cd5\u5e08\u978b\u5e95", "/items/chrono_sphere": "\u65f6\u7a7a\u7403", "/items/frost_sphere": "\u51b0\u971c\u7403", "/items/panda_fluff": "\u718a\u732b\u7ed2", "/items/black_bear_fluff": "\u9ed1\u718a\u7ed2", "/items/grizzly_bear_fluff": "\u68d5\u718a\u7ed2", "/items/polar_bear_fluff": "\u5317\u6781\u718a\u7ed2", "/items/red_panda_fluff": "\u5c0f\u718a\u732b\u7ed2", "/items/magnet": "\u78c1\u94c1", "/items/stalactite_shard": "\u949f\u4e73\u77f3\u788e\u7247", "/items/living_granite": "\u82b1\u5c97\u5ca9", "/items/colossus_core": "\u5de8\u50cf\u6838\u5fc3", "/items/vampire_fang": "\u5438\u8840\u9b3c\u4e4b\u7259", "/items/werewolf_claw": "\u72fc\u4eba\u4e4b\u722a", "/items/revenant_anima": "\u4ea1\u8005\u4e4b\u9b42", "/items/soul_fragment": "\u7075\u9b42\u788e\u7247", "/items/infernal_ember": "\u5730\u72f1\u4f59\u70ec", "/items/demonic_core": "\u6076\u9b54\u6838\u5fc3", "/items/griffin_leather": "\u72ee\u9e6b\u4e4b\u76ae", "/items/manticore_sting": "\u874e\u72ee\u4e4b\u523a", "/items/jackalope_antler": "\u9e7f\u89d2\u5154\u4e4b\u89d2", "/items/dodocamel_plume": "\u6e21\u6e21\u9a7c\u4e4b\u7fce", "/items/griffin_talon": "\u72ee\u9e6b\u4e4b\u722a", "/items/chimerical_refinement_shard": "\u5947\u5e7b\u7cbe\u70bc\u788e\u7247", "/items/acrobats_ribbon": "\u6742\u6280\u5e08\u5f69\u5e26", "/items/magicians_cloth": "\u9b54\u672f\u5e08\u7ec7\u7269", "/items/chaotic_chain": "\u6df7\u6c8c\u9501\u94fe", "/items/cursed_ball": "\u8bc5\u5492\u4e4b\u7403", "/items/sinister_refinement_shard": "\u9634\u68ee\u7cbe\u70bc\u788e\u7247", "/items/royal_cloth": "\u7687\u5bb6\u7ec7\u7269", "/items/knights_ingot": "\u9a91\u58eb\u4e4b\u952d", "/items/bishops_scroll": "\u4e3b\u6559\u5377\u8f74", "/items/regal_jewel": "\u541b\u738b\u5b9d\u77f3", "/items/sundering_jewel": "\u88c2\u7a7a\u5b9d\u77f3", "/items/enchanted_refinement_shard": "\u79d8\u6cd5\u7cbe\u70bc\u788e\u7247", "/items/marksman_brooch": "\u795e\u5c04\u80f8\u9488", "/items/corsair_crest": "\u63a0\u593a\u8005\u5fbd\u7ae0", "/items/damaged_anchor": "\u7834\u635f\u8239\u951a", "/items/maelstrom_plating": "\u6012\u6d9b\u7532\u7247", "/items/kraken_leather": "\u514b\u62c9\u80af\u76ae\u9769", "/items/kraken_fang": "\u514b\u62c9\u80af\u4e4b\u7259", "/items/pirate_refinement_shard": "\u6d77\u76d7\u7cbe\u70bc\u788e\u7247", "/items/pathbreaker_lodestone": "\u5f00\u8def\u8005\u78c1\u77f3", "/items/pathfinder_lodestone": "\u63a2\u8def\u8005\u78c1\u77f3", "/items/pathseeker_lodestone": "\u5bfb\u8def\u8005\u78c1\u77f3", "/items/labyrinth_refinement_shard": "\u8ff7\u5bab\u7cbe\u70bc\u788e\u7247", "/items/butter_of_proficiency": "\u7cbe\u901a\u4e4b\u6cb9", "/items/thread_of_expertise": "\u4e13\u7cbe\u4e4b\u7ebf", "/items/branch_of_insight": "\u6d1e\u5bdf\u4e4b\u679d", "/items/gluttonous_energy": "\u8d2a\u98df\u80fd\u91cf", "/items/guzzling_energy": "\u66b4\u996e\u80fd\u91cf", "/items/milking_essence": "\u6324\u5976\u7cbe\u534e", "/items/foraging_essence": "\u91c7\u6458\u7cbe\u534e", "/items/woodcutting_essence": "\u4f10\u6728\u7cbe\u534e", "/items/cheesesmithing_essence": "\u5976\u916a\u953b\u9020\u7cbe\u534e", "/items/crafting_essence": "\u5236\u4f5c\u7cbe\u534e", "/items/tailoring_essence": "\u7f1d\u7eab\u7cbe\u534e", "/items/cooking_essence": "\u70f9\u996a\u7cbe\u534e", "/items/brewing_essence": "\u51b2\u6ce1\u7cbe\u534e", "/items/alchemy_essence": "\u70bc\u91d1\u7cbe\u534e", "/items/enhancing_essence": "\u5f3a\u5316\u7cbe\u534e", "/items/swamp_essence": "\u6cbc\u6cfd\u7cbe\u534e", "/items/aqua_essence": "\u6d77\u6d0b\u7cbe\u534e", "/items/jungle_essence": "\u4e1b\u6797\u7cbe\u534e", "/items/gobo_essence": "\u54e5\u5e03\u6797\u7cbe\u534e", "/items/eyessence": "\u773c\u7cbe\u534e", "/items/sorcerer_essence": "\u6cd5\u5e08\u7cbe\u534e", "/items/bear_essence": "\u718a\u718a\u7cbe\u534e", "/items/golem_essence": "\u9b54\u50cf\u7cbe\u534e", "/items/twilight_essence": "\u66ae\u5149\u7cbe\u534e", "/items/abyssal_essence": "\u5730\u72f1\u7cbe\u534e", "/items/chimerical_essence": "\u5947\u5e7b\u7cbe\u534e", "/items/sinister_essence": "\u9634\u68ee\u7cbe\u534e", "/items/enchanted_essence": "\u79d8\u6cd5\u7cbe\u534e", "/items/pirate_essence": "\u6d77\u76d7\u7cbe\u534e", "/items/labyrinth_essence": "\u8ff7\u5bab\u7cbe\u534e", "/items/task_crystal": "\u4efb\u52a1\u6c34\u6676", "/items/star_fragment": "\u661f\u5149\u788e\u7247", "/items/pearl": "\u73cd\u73e0", "/items/amber": "\u7425\u73c0", "/items/garnet": "\u77f3\u69b4\u77f3", "/items/jade": "\u7fe1\u7fe0", "/items/amethyst": "\u7d2b\u6c34\u6676", "/items/moonstone": "\u6708\u4eae\u77f3", "/items/sunstone": "\u592a\u9633\u77f3", "/items/philosophers_stone": "\u8d24\u8005\u4e4b\u77f3", "/items/crushed_pearl": "\u73cd\u73e0\u788e\u7247", "/items/crushed_amber": "\u7425\u73c0\u788e\u7247", "/items/crushed_garnet": "\u77f3\u69b4\u77f3\u788e\u7247", "/items/crushed_jade": "\u7fe1\u7fe0\u788e\u7247", "/items/crushed_amethyst": "\u7d2b\u6c34\u6676\u788e\u7247", "/items/crushed_moonstone": "\u6708\u4eae\u77f3\u788e\u7247", "/items/crushed_sunstone": "\u592a\u9633\u77f3\u788e\u7247", "/items/crushed_philosophers_stone": "\u8d24\u8005\u4e4b\u77f3\u788e\u7247", "/items/shard_of_protection": "\u4fdd\u62a4\u788e\u7247", "/items/mirror_of_protection": "\u4fdd\u62a4\u4e4b\u955c", "/items/philosophers_mirror": "\u8d24\u8005\u4e4b\u955c", "/items/basic_torch": "\u57fa\u7840\u706b\u628a", "/items/advanced_torch": "\u8fdb\u9636\u706b\u628a", "/items/expert_torch": "\u4e13\u5bb6\u706b\u628a", "/items/basic_shroud": "\u57fa\u7840\u6597\u7bf7", "/items/advanced_shroud": "\u8fdb\u9636\u6597\u7bf7", "/items/expert_shroud": "\u4e13\u5bb6\u6597\u7bf7", "/items/basic_beacon": "\u57fa\u7840\u63a2\u7167\u706f", "/items/advanced_beacon": "\u8fdb\u9636\u63a2\u7167\u706f", "/items/expert_beacon": "\u4e13\u5bb6\u63a2\u7167\u706f", "/items/basic_food_crate": "\u57fa\u7840\u98df\u7269\u7bb1", "/items/advanced_food_crate": "\u8fdb\u9636\u98df\u7269\u7bb1", "/items/expert_food_crate": "\u4e13\u5bb6\u98df\u7269\u7bb1", "/items/basic_tea_crate": "\u57fa\u7840\u8336\u53f6\u7bb1", "/items/advanced_tea_crate": "\u8fdb\u9636\u8336\u53f6\u7bb1", "/items/expert_tea_crate": "\u4e13\u5bb6\u8336\u53f6\u7bb1", "/items/basic_coffee_crate": "\u57fa\u7840\u5496\u5561\u7bb1", "/items/advanced_coffee_crate": "\u8fdb\u9636\u5496\u5561\u7bb1", "/items/expert_coffee_crate": "\u4e13\u5bb6\u5496\u5561\u7bb1" } } } }; mwi.itemNameToHridDict = {}; } function injectedInit() { mwi.itemNameToHridDict = {}; Object.entries(mwi.lang.en.translation.itemNames).forEach(([k, v]) => { mwi.itemNameToHridDict[v] = k }); Object.entries(mwi.lang.zh.translation.itemNames).forEach(([k, v]) => { mwi.itemNameToHridDict[v] = k }); mwi.MWICoreInitialized = true; mwi.game.updateNotifications("info", mwi.isZh ? "mooket2 准备就绪" : "mooket2 ready"); window.dispatchEvent(new CustomEvent("MWICoreInitialized")); } staticInit(); new Promise(resolve => { let count = 0; const interval = setInterval(() => { count++; if (count > 30) { clearInterval(interval); resolve(); } if (mwi.game && mwi.lang && mwi?.game?.state?.character?.gameMode) { clearInterval(interval); resolve(); } }, 1000); }).then(() => { injectedInit(); }); /* ================= 实时市场核心类 ================= */ class CoreMarket { marketData = {}; fetchTimeDict = {}; ttl = 300; constructor() { let marketDataStr = localStorage.getItem("MWICore_marketData") || "{}"; this.marketData = JSON.parse(marketDataStr); let lastFetchStr = localStorage.getItem("MYAPI_LATEST_CACHE_TIME"); let lastFetchTime = lastFetchStr ? parseFloat(lastFetchStr) : 0; // 不再保存庞大 JSON 到 LocalStorage,只在内存合并 if (Date.now() / 1000 - lastFetchTime > 300) { fetch(NATIVE_API_URL).then(res => { res.json().then(data => { this.mergeMWIData(data); localStorage.setItem("MYAPI_LATEST_CACHE_TIME", Date.now() / 1000); }) }).catch(err => { }); } hookMessage("market_item_order_books_updated", obj => this.handleMessageMarketItemOrderBooksUpdated(obj)); setInterval(() => { this.save(); }, 1000 * 600); } handleMessageMarketItemOrderBooksUpdated(obj) { let timestamp = obj.time || parseInt(Date.now() / 1000); let itemHrid = obj.marketItemOrderBooks.itemHrid; obj.marketItemOrderBooks?.orderBooks?.forEach((item, enhancementLevel) => { let bid = item.bids?.length > 0 ? item.bids[0].price : -1; let ask = item.asks?.length > 0 ? item.asks[0].price : -1; this.updateItem(itemHrid + ":" + enhancementLevel, { bid: bid, ask: ask, time: timestamp }); }); } subscribeItems(itemHridList) {} mergeMWIData(dataObj) { if(!dataObj || !dataObj.marketData) return; const timestamp = dataObj.timestamp || Math.floor(Date.now() / 1000); Object.entries(dataObj.marketData).forEach(([itemHrid, variants]) => { let ensuredHrid = mwi.ensureItemHrid(itemHrid); if (ensuredHrid) { Object.entries(variants).forEach(([variant, stats]) => { this.updateItem(ensuredHrid + ":" + variant, { bid: stats.b || -1, ask: stats.a || -1, time: timestamp }, false); }); } }); this.save(); } mergeCoreDataBeforeSave() { let obj = JSON.parse(localStorage.getItem("MWICore_marketData") || "{}"); Object.entries(obj).forEach(([itemHridLevel, priceObj]) => { this.updateItem(itemHridLevel, priceObj, false); }); } save() { if (mwi.character?.gameMode !== "standard") return; this.mergeCoreDataBeforeSave(); localStorage.setItem("MWICore_marketData", JSON.stringify(this.marketData)); } getSpecialPrice(itemHrid) { switch (itemHrid) { case "/items/coin": return { bid: 1, ask: 1, time: Date.now() / 1000 }; case "/items/cowbell": { let cowbells = this.getItemPrice("/items/bag_of_10_cowbells"); return cowbells && { bid: cowbells.bid / 10, ask: cowbells.ask / 10, time: cowbells.time }; } case "/items/bag_of_10_cowbells": return null; case "/items/task_crystal": return { bid: 5000, ask: 5000, time: Date.now() / 1000 }; default: return null; } } getItemPrice(itemHridOrName, enhancementLevel = 0, peek = false) { if (itemHridOrName?.includes(":")) { let arr = itemHridOrName.split(":"); itemHridOrName = arr[0]; enhancementLevel = parseInt(arr[1]); } let itemHrid = mwi.ensureItemHrid(itemHridOrName); if (!itemHrid) return null; let specialPrice = this.getSpecialPrice(itemHrid); if (specialPrice) return specialPrice; let itemHridLevel = itemHrid + ":" + enhancementLevel; return this.marketData[itemHridLevel]; } updateItem(itemHridLevel, priceObj, isFetch = true) { let localItem = this.marketData[itemHridLevel]; if (isFetch) this.fetchTimeDict[itemHridLevel] = Date.now() / 1000; if (!localItem || localItem.time < priceObj.time || localItem.time > Date.now() / 1000) { let risePercent = 0; if (localItem) { let oriPrice = (localItem.ask + localItem.bid); let newPrice = (priceObj.ask + priceObj.bid); if (oriPrice != 0) risePercent = newPrice / oriPrice - 1; } this.marketData[itemHridLevel] = { rise: risePercent, ask: priceObj.ask, bid: priceObj.bid, time: priceObj.time }; dispatchEvent(new CustomEvent("MWICoreItemPriceUpdated", { detail: { priceObj: priceObj, itemHridLevel: itemHridLevel } })); } } } mwi.coreMarket = new CoreMarket(); /* ================= 历史数据与 UI 模块 ================= */ function mooket() { mwi.hookMessage("market_listings_updated", obj => { let trade_history = JSON.parse(localStorage.getItem("mooket_trade_history") || "{}"); obj.endMarketListings.forEach(order => { if (order.filledQuantity == 0) return; let key = order.itemHrid + ":" + order.enhancementLevel; let tradeItem = trade_history[key] || {} if (order.isSell) tradeItem.sell = order.price; else tradeItem.buy = order.price; trade_history[key] = tradeItem; }); if (mwi.character?.gameMode === "standard") { localStorage.setItem("mooket_trade_history", JSON.stringify(trade_history)); } }); let curDay = 1; let curHridName = null; let curLevel = 0; let curShowItemName = null; let delayItemHridName = null; let delayItemLevel = 0; let chartWidth = 500; let chartHeight = 280 let configStr = localStorage.getItem("mooket_config"); let config = configStr ? JSON.parse(configStr) : { "dayIndex": 0, "visible": true, "filter": { "bid": true, "ask": true, "mean": true, "vol": true }, "favo": {} }; config.favo = config.favo || {}; let trade_history = JSON.parse(localStorage.getItem("mooket_trade_history") || "{}"); function handleResize() { let isMobile = window.innerWidth < window.innerHeight || window.innerWidth < 600; if (uiContainer.style.display !== 'none') { if (isMobile) { container.style.width = window.innerWidth * 0.95 + "px"; container.style.height = window.innerWidth * 0.6 + "px"; } else { container.style.width = (config.w || 500) + "px"; container.style.height = (config.h || 280) + "px"; } if (chart) chart.resize(); } let rect = container.getBoundingClientRect(); if (rect.right > window.innerWidth) container.style.left = Math.max(0, window.innerWidth - rect.width) + "px"; if (rect.bottom > window.innerHeight) container.style.top = Math.max(0, window.innerHeight - rect.height) + "px"; } window.addEventListener("resize", handleResize); const container = document.createElement('div'); container.style.border = "1px solid #90a6eb"; container.style.backgroundColor = "#282844"; container.style.position = "fixed"; container.style.zIndex = 10000; container.style.top = `${Math.max(0, Math.min(config.y || 0, window.innerHeight - 50))}px`; container.style.left = `${Math.max(0, Math.min(config.x || 0, window.innerWidth - 50))}px`; let isMobile = window.innerWidth < window.innerHeight || window.innerWidth < 600; container.style.width = isMobile ? (window.innerWidth * 0.95 + "px") : ((config.w || 500) + "px"); container.style.height = isMobile ? (window.innerWidth * 0.6 + "px") : ((config.h || 280) + "px"); container.style.resize = "both"; container.style.overflow = "auto"; container.style.display = "none"; container.style.flexDirection = "column"; container.style.flex = "1"; container.style.minHeight = "35px"; container.style.minWidth = "112px"; container.style.userSelect = "none"; let mouseDragging = false, touchDragging = false; let offsetX, offsetY; let resizeEndTimer = null; container.addEventListener("resize", () => { if (resizeEndTimer) clearTimeout(resizeEndTimer); resizeEndTimer = setTimeout(save_config, 1000); }); const dragStart = (e, clientX, clientY) => { const rect = container.getBoundingClientRect(); if (container.style.resize === "both" && (clientX > rect.right - 10 && clientY > rect.bottom - 10)) return false; offsetX = clientX - container.offsetLeft; offsetY = clientY - container.offsetTop; return true; }; const dragMove = (clientX, clientY) => { let newX = clientX - offsetX; let newY = clientY - offsetY; if (newX < 0) newX = 0; if (newY < 0) newY = 0; if (newX > window.innerWidth - container.offsetWidth) newX = window.innerWidth - container.offsetWidth; if (newY > window.innerHeight - container.offsetHeight) newY = window.innerHeight - container.offsetHeight; container.style.left = newX + "px"; container.style.top = newY + "px"; }; container.addEventListener("mousedown", e => { if (!mouseDragging && !touchDragging) mouseDragging = dragStart(e, e.clientX, e.clientY); }); document.addEventListener("mousemove", e => { if (mouseDragging) dragMove(e.clientX, e.clientY); }); document.addEventListener("mouseup", () => { if (mouseDragging) { mouseDragging = false; save_config(); } }); container.addEventListener("touchstart", e => { if (!mouseDragging && !touchDragging) touchDragging = dragStart(e, e.touches[0].clientX, e.touches[0].clientY); }); document.addEventListener("touchmove", e => { if (touchDragging) dragMove(e.touches[0].clientX, e.touches[0].clientY); }); document.addEventListener("touchend", () => { if (touchDragging) { touchDragging = false; save_config(); } }); document.body.appendChild(container); const ctx = document.createElement('canvas'); ctx.id = "mooket_chart"; container.appendChild(ctx); let uiContainer = document.createElement('div'); uiContainer.style.position = 'absolute'; uiContainer.style.top = '5px'; uiContainer.style.right = '16px'; uiContainer.style.fontSize = '14px'; uiContainer.style.flexShrink = 0; container.appendChild(uiContainer); const days =[1, 7, 14, 30, 90, 180]; config.dayIndex = Math.min(config.dayIndex || 0, 5); curDay = days[config.dayIndex]; let select = document.createElement('select'); select.style.cursor = 'pointer'; select.style.verticalAlign = 'middle'; select.onchange = function () { config.dayIndex = this.selectedIndex; if (curHridName) requestItemPrice(curHridName, parseInt(this.value), curLevel); save_config(); }; for (let i = 0; i < days.length; i++) { let option = document.createElement('option'); option.value = days[i]; if (i === config.dayIndex) option.selected = true; select.appendChild(option); } function updateMoodays() { for (let i = 0; i < select.options.length; i++) { select.options[i].text = days[i] + (mwi.isZh ? "天" : "d"); } } updateMoodays(); uiContainer.appendChild(select); let btn_auto = document.createElement('input'); btn_auto.type = 'checkbox'; btn_auto.style.cursor = 'pointer'; btn_auto.style.verticalAlign = 'middle'; btn_auto.checked = config.autoHide; btn_auto.id = "mooket_autoHide"; btn_auto.onchange = function () { config.autoHide = this.checked; save_config(); } uiContainer.appendChild(btn_auto); let label_auto = document.createElement('label'); label_auto.htmlFor = btn_auto.id; label_auto.style.cursor = 'pointer'; label_auto.style.color = 'white'; label_auto.style.marginLeft = '5px'; label_auto.textContent = mwi.isZh ? "自动隐藏" : "Auto Hide"; uiContainer.appendChild(label_auto); const leftContainer = document.createElement('div'); leftContainer.style.padding = '2px' leftContainer.style.display = 'flex'; leftContainer.style.alignItems = 'center' container.appendChild(leftContainer); let btn_close = document.createElement('input'); btn_close.type = 'button'; btn_close.classList.add('Button_button__1Fe9z') btn_close.value = '📈隐藏'; btn_close.style.margin = 0; btn_close.style.cursor = 'pointer'; leftContainer.appendChild(btn_close); let btn_switch = document.createElement('input'); btn_switch.type = 'button'; btn_switch.value = "👁"; btn_switch.style.cursor = 'pointer'; btn_switch.style.padding = "0 3px"; btn_switch.style.fontSize = "16px"; btn_switch.onclick = function () { const modeCycle = { icon: "iconPercent", iconPercent: "iconPrice", iconPrice: "iconFull", iconFull: "normalPercent", normalPercent: "normalPrice", normalPrice: "normalFull", normalFull: "full", full: "none", none: "icon" }; const target = uiContainer.style.display === "none" ? "favoModeOff" : "favoModeOn"; config[target] = modeCycle[config[target]] || "icon"; updateFavo(); container.style.width = "min-content"; container.style.height = "min-content"; save_config(); }; leftContainer.appendChild(btn_switch); let btn_relayout = document.createElement('input'); btn_relayout.type = 'checkbox'; btn_relayout.checked = config.keepsize; btn_relayout.onchange = function () { config.keepsize = this.checked; save_config(); }; leftContainer.appendChild(btn_relayout); let favoContainer = document.createElement('div'); favoContainer.style.fontSize = '15px'; favoContainer.style.maxWidth = "100%"; favoContainer.style.display = 'flex'; favoContainer.style.flexWrap = 'wrap' favoContainer.style.position = 'absolute'; favoContainer.style.top = '35px'; favoContainer.style.lineHeight = "15px"; favoContainer.style.overflow = 'auto'; container.appendChild(favoContainer); function addFavo(itemHridLevel) { if (mwi.character?.gameMode !== "standard") return; if (!config.favo[itemHridLevel] && Object.keys(config.favo).length >= 10) { mwi.game?.updateNotifications("error", mwi.isZh ? "最多只能添加 10 个自选物品哦!" : "Maximum 10 favorite items allowed!"); return; } let priceObj = mwi.coreMarket.getItemPrice(itemHridLevel); config.favo[itemHridLevel] = { ask: priceObj?.ask || -1, bid: priceObj?.bid || -1, time: priceObj?.time || 0 }; save_config(); updateFavo(); } function removeFavo(itemHridLevel) { if (mwi.character?.gameMode !== "standard") return; delete config.favo[itemHridLevel]; save_config(); updateFavo(); } function formatMagnitude(val) { if (val === -1 || val == null) return { str: '0', color: '#6c757d' }; let num = parseFloat(val); if (num === 0) return { str: '0', color: '#6c757d' }; let str = ''; let color = ''; if (num >= 1e9) { str = parseFloat((num / 1e9).toFixed(2)) + 'B'; color = '#77baec'; } else if (num >= 1e7) { str = parseFloat((num / 1e6).toFixed(2)) + 'M'; color = '#82dcca'; } else if (num >= 1e5) { str = parseFloat((num / 1e3).toFixed(1)) + 'K'; color = '#fddaa5'; } else { str = Math.floor(num).toLocaleString(); color = ''; } return { str, color }; } function showNumber(num) { return formatMagnitude(num).str; } function updateFavo() { if (mwi.character?.gameMode !== "standard") { favoContainer.style.display = 'none'; return; } favoContainer.style.display = 'flex'; let items = Object.keys(config.favo); for (let i = 0; i < favoContainer.children.length; i++) { if (!items.includes(favoContainer.children[i].id)) favoContainer.removeChild(favoContainer.children[i]); } for (let itemHridLevel of items) { let favoItemDiv = document.getElementById(itemHridLevel); let oldPrice = config.favo[itemHridLevel]; let newPrice = mwi.coreMarket.getItemPrice(itemHridLevel); oldPrice.ask = oldPrice?.ask > 0 ? oldPrice.ask : newPrice?.ask; oldPrice.bid = oldPrice?.bid > 0 ? oldPrice.bid : newPrice?.bid; let priceDelta = { ask: newPrice?.ask > 0 ? showNumber(newPrice.ask) : "-", bid: newPrice?.bid > 0 ? showNumber(newPrice.bid) : "-", askRise: (oldPrice?.ask > 0 && newPrice?.ask > 0) ? (100 * (newPrice.ask - oldPrice.ask) / oldPrice.ask).toFixed(1) : 0, bidRise: (oldPrice?.bid > 0 && newPrice?.bid > 0) ? (100 * (newPrice.bid - oldPrice.bid) / oldPrice.bid).toFixed(1) : 0, }; let[itemHrid, level] = itemHridLevel.split(":"); let iconName = itemHrid.split("/")[2]; let itemName = mwi.isZh ? mwi.lang.zh.translation.itemNames[itemHrid] : mwi.lang.en.translation.itemNames[itemHrid]; if (!favoItemDiv) { favoItemDiv = document.createElement('div'); favoItemDiv.style.color = 'white'; favoItemDiv.style.whiteSpace = 'nowrap'; favoItemDiv.style.cursor = 'pointer'; favoItemDiv.onclick = function () { let[itemHrid, level] = itemHridLevel.split(":") if (uiContainer.style.display === 'none') { delayItemHridName = itemHrid; delayItemLevel = parseInt(level); } else { requestItemPrice(itemHrid, curDay, level); } mwi.game?.handleGoToMarketplace(itemHrid, parseInt(level)); }; favoItemDiv.oncontextmenu = (e) => { e.preventDefault(); removeFavo(itemHridLevel); }; favoItemDiv.id = itemHridLevel; favoContainer.appendChild(favoItemDiv); } let favoMode = uiContainer.style.display === 'none' ? (config.favoModeOff || "icon") : (config.favoModeOn || "icon"); let title = `${itemName}${level > 0 ? `(+${level})` : ""} ${priceDelta.ask} ${priceDelta.askRise > 0 ? "+" : ""}${priceDelta.askRise}%`; switch (favoMode) { case "none": favoItemDiv.innerHTML = ""; break; case "full": favoItemDiv.innerHTML = `
${itemName}${level > 0 ? `(+${level})` : ""} 0 ? "red" : "lime"}">${priceDelta.ask} 0 ? "brown" : "green"}">${priceDelta.askRise > 0 ? "+" : ""}${priceDelta.askRise}% 0 ? "red" : "lime"}">${priceDelta.bid} 0 ? "brown" : "green"}">${priceDelta.bidRise > 0 ? "+" : ""}${priceDelta.bidRise}%
`; break; case "iconPercent": favoItemDiv.innerHTML = `
0 ? "brown" : "green"}">${priceDelta.askRise == 0 ? "" : priceDelta.askRise > 0 ? "+" + priceDelta.askRise + "%" : priceDelta.askRise + "%"}
`; break; case "iconPrice": favoItemDiv.innerHTML = `
0 ? "red" : "lime"}">${priceDelta.ask}
`; break; case "iconFull": favoItemDiv.innerHTML = `
0 ? "red" : "lime"}">${priceDelta.ask} 0 ? "brown" : "green"}">${priceDelta.askRise > 0 ? "+" : ""}${priceDelta.askRise}%
`; break; case "normalPercent": favoItemDiv.innerHTML = `
${itemName}${level > 0 ? `(+${level})` : ""} 0 ? "brown" : "green"}">${priceDelta.askRise == 0 ? "" : priceDelta.askRise > 0 ? "+" + priceDelta.askRise + "%" : priceDelta.askRise + "%"}
`; break; case "normalPrice": favoItemDiv.innerHTML = `
${itemName}${level > 0 ? `(+${level})` : ""} 0 ? "red" : "lime"}">${priceDelta.ask}
`; break; case "normalFull": favoItemDiv.innerHTML = `
${itemName}${level > 0 ? `(+${level})` : ""} 0 ? "red" : "lime"}">${priceDelta.ask} 0 ? "brown" : "green"}">${priceDelta.askRise > 0 ? "+" : ""}${priceDelta.askRise}%
`; break; default: favoItemDiv.innerHTML = `
`; } } } updateFavo(); addEventListener('MWICoreItemPriceUpdated', updateFavo); addEventListener("MWILangChanged", () => { updateMoodays(); updateFavo(); btn_close.value = mwi.isZh ? (uiContainer.style.display === 'none' ? "📈显示" : "📈隐藏") : (uiContainer.style.display === 'none' ? "Show" : "Hide"); }); btn_close.onclick = toggle; function toggle() { let isMobile = window.innerWidth < window.innerHeight || window.innerWidth < 600; if (uiContainer.style.display === 'none') { uiContainer.style.display = ctx.style.display = 'block'; btn_close.value = '📈' + (mwi.isZh ? "隐藏" : "Hide"); leftContainer.style.position = 'absolute'; leftContainer.style.top = '1px'; leftContainer.style.left = '1px'; container.style.width = isMobile ? (window.innerWidth * 0.95 + "px") : ((config.w || 500) + "px"); container.style.height = isMobile ? (window.innerWidth * 0.6 + "px") : ((config.h || 280) + "px"); container.style.minHeight = "150px"; container.style.minWidth = "200px"; config.visible = true; favoContainer.style.top = "35px"; favoContainer.style.right = 0; favoContainer.style.left = null; favoContainer.style.position = 'absolute'; requestItemPrice(delayItemHridName, curDay, delayItemLevel); updateFavo(); save_config(); } else { uiContainer.style.display = ctx.style.display = 'none'; container.style.width = config.minWidth + "px"; container.style.height = config.minHeight + "px"; container.style.minHeight = "min-content"; container.style.minWidth = "112px"; if (!config.keepsize) { container.style.width = "min-content"; container.style.height = "min-content"; } btn_close.value = '📈' + (mwi.isZh ? "显示" : "Show"); leftContainer.style.position = 'relative'; leftContainer.style.top = 0; leftContainer.style.left = 0; favoContainer.style.top = 0; favoContainer.style.left = 0; favoContainer.style.right = null; favoContainer.style.position = 'relative'; config.visible = false; updateFavo(); save_config(); } } // ================= 图表初始化与双 Y 轴设置 ================= let chart = new Chart(ctx, { type: 'line', data: { labels:[], datasets:[] }, options: { onClick: save_config, responsive: true, maintainAspectRatio: false, interaction: { mode: 'index', intersect: false }, scales: { x: { type: 'time', time: { displayFormats: { hour: 'HH:mm', day: 'MM/dd' } }, grid: { color: "rgba(255,255,255,0.1)" }, ticks: { color: "#e7e7e7" } }, y: { type: 'linear', position: 'left', grid: { color: "rgba(255,255,255,0.1)" }, ticks: { color: "#e7e7e7", callback: showNumber } }, y1: { type: 'linear', position: 'right', grid: { drawOnChartArea: false }, ticks: { color: "#409eff", callback: showNumber } } }, plugins: { tooltip: { bodyColor: "#e7e7e7", titleColor: "#e7e7e7", callbacks: { label: function(context) { let label = context.dataset.label || ''; if (label) { label += ': '; } const res = formatMagnitude(context.parsed.y); if (context.parsed.y !== null) { label += res.str; } return label; } } }, crosshair: { line: { color: '#AAAAAA', width: 1 }, zoom: { enabled: false } }, title: { display: true, text: "", color: "#e7e7e7", font: { size: 15, weight: 'bold' } }, legend: { display: true, labels: { color: "#e7e7e7" } }, } } }); // ================= API 请求与计算 ================= function requestItemPrice(itemHridName, day = 1, level = 0) { if (!itemHridName) return; day = parseInt(day); if (curHridName === itemHridName && curLevel == level && curDay == day) return; delayItemHridName = curHridName = itemHridName; delayItemLevel = curLevel = level; curDay = day; curShowItemName = (mwi.isZh ? mwi.lang.zh.translation.itemNames[itemHridName] : mwi.lang.en.translation.itemNames[itemHridName]) ?? itemHridName; curShowItemName += curLevel > 0 ? `(+${curLevel})` : ""; fetch(`${MY_API_HOST}/api/market/history?item_id=${curHridName}&variant=${curLevel}&days=${day}`) .then(res => res.json().then(data => updateChart(data, curDay))) .catch(err => { }); } // ================= 核心:图表数据处理防覆盖 + 均价日均值 + 买卖中位数算法 ================= function updateChart(rawData, day) { if(!Array.isArray(rawData)) return; let processedData =[]; if (parseInt(day) === 1) { processedData = rawData; } else { const dailyGroup = {}; rawData.forEach(row => { const ts = typeof row.time === 'number' ? row.time : new Date(row.time).getTime() / 1000; const dateObj = new Date(ts * 1000); const dateStr = `${dateObj.getFullYear()}-${dateObj.getMonth() + 1}-${dateObj.getDate()}`; // 【修改 1】新增 a_list 和 b_list 数组,用于存储一天内出现过的所有价格 if (!dailyGroup[dateStr]) { dailyGroup[dateStr] = { time: ts, max_ts: 0, a_list:[], b_list:[], p_sum: 0, p_count: 0, v: 0 }; } // 成交量累加 dailyGroup[dateStr].v += (row.v || 0); // 过滤掉无效数据 (-1),收集真实的 p, a, b if (row.p > 0) { dailyGroup[dateStr].p_sum += row.p; dailyGroup[dateStr].p_count += 1; } if (row.a > 0) dailyGroup[dateStr].a_list.push(row.a); if (row.b > 0) dailyGroup[dateStr].b_list.push(row.b); // 保留当天最晚的时间戳,用于 X 轴画图锚点 if (ts > dailyGroup[dateStr].max_ts) { dailyGroup[dateStr].max_ts = ts; dailyGroup[dateStr].time = ts; } }); // 【辅助函数】计算中位数 function getMedian(arr) { if (arr.length === 0) return 0; arr.sort((x, y) => x - y); // 从小到大排序 const mid = Math.floor(arr.length / 2); // 如果是偶数个,取中间两项的平均数;奇数个则直接取最中间项 return arr.length % 2 !== 0 ? arr[mid] : (arr[mid - 1] + arr[mid]) / 2; } // 【修改 2】最后输出时,分别计算均价(平均数)和买卖盘(中位数) processedData = Object.values(dailyGroup).map(item => { item.p = item.p_count > 0 ? (item.p_sum / item.p_count) : 0; item.a = getMedian(item.a_list); item.b = getMedian(item.b_list); return item; }).sort((x, y) => x.time - y.time); } chart.data.labels = processedData.map(x => new Date(x.time * 1000)); chart.options.plugins.title.text = curShowItemName; chart.data.datasets =[ { label: mwi.isZh ? '卖一(a)' : "Ask(a)", data: processedData.map(x => (x.a === -1 || x.a == null) ? 0 : x.a), borderColor: '#f56c6c', backgroundColor: 'transparent', borderWidth: 2, borderDash: [], yAxisID: 'y', pointRadius: 0 }, { label: mwi.isZh ? '买一(b)' : "Bid(b)", data: processedData.map(x => (x.b === -1 || x.b == null) ? 0 : x.b), borderColor: '#67c23a', backgroundColor: 'transparent', borderWidth: 3, borderDash: [5, 5], yAxisID: 'y', pointRadius: 0 }, { label: mwi.isZh ? '均价(p)' : "Avg(p)", data: processedData.map(x => (x.p === -1 || x.p == null) ? 0 : x.p), borderColor: '#e6a23c', backgroundColor: 'transparent', borderWidth: 4, borderDash: [2, 3], yAxisID: 'y', pointRadius: 0 }, { label: mwi.isZh ? '成交量(v)' : "Vol(v)", data: processedData.map(x => (x.v === -1 || x.v == null) ? 0 : x.v), borderColor: '#409eff', backgroundColor: 'rgba(64, 158, 255, 0.2)', borderWidth: 2, fill: true, yAxisID: 'y1', pointRadius: 0, tension: 0.3 } ]; if (parseInt(day) <= 1) { chart.options.scales.x.time.unit = 'hour'; chart.options.scales.x.time.tooltipFormat = 'HH:mm'; } else { chart.options.scales.x.time.unit = 'day'; chart.options.scales.x.time.tooltipFormat = 'MM/dd'; } chart.setDatasetVisibility(0, config.filter.ask ?? true); chart.setDatasetVisibility(1, config.filter.bid ?? true); chart.setDatasetVisibility(2, config.filter.mean ?? true); chart.setDatasetVisibility(3, config.filter.vol ?? true); chart.update(); } function save_config() { if (mwi.character?.gameMode !== "standard") return; if (chart && chart.data && chart.data.datasets && chart.data.datasets.length == 4) { config.filter.ask = chart.getDatasetMeta(0).visible; config.filter.bid = chart.getDatasetMeta(1).visible; config.filter.mean = chart.getDatasetMeta(2).visible; config.filter.vol = chart.getDatasetMeta(3).visible; } if (container.checkVisibility()) { config.x = Math.max(0, Math.min(container.getBoundingClientRect().x, window.innerWidth - 50)); config.y = Math.max(0, Math.min(container.getBoundingClientRect().y, window.innerHeight - 50)); let isMobile = window.innerWidth < window.innerHeight || window.innerWidth < 600; if (uiContainer.style.display === 'none') { config.minWidth = container.offsetWidth; config.minHeight = container.offsetHeight; } else { if (!isMobile) { config.w = container.offsetWidth; config.h = container.offsetHeight; } } } localStorage.setItem("mooket_config", JSON.stringify(config)); } // === 安全的悬浮层容器,直接挂载到 body,绝不污染 React DOM === let safeOverlay = document.getElementById("mooket_safe_overlay"); if (!safeOverlay) { safeOverlay = document.createElement("div"); safeOverlay.id = "mooket_safe_overlay"; safeOverlay.style.position = "absolute"; safeOverlay.style.top = "0"; safeOverlay.style.left = "0"; safeOverlay.style.pointerEvents = "none"; safeOverlay.style.zIndex = "40"; document.body.appendChild(safeOverlay); } let tradeHistoryDiv = document.createElement("div"); tradeHistoryDiv.style.position = "absolute"; tradeHistoryDiv.style.whiteSpace = "nowrap"; tradeHistoryDiv.style.transform = "translateX(-50%)"; tradeHistoryDiv.style.pointerEvents = "auto"; tradeHistoryDiv.title = mwi.isZh ? "我的最近买/卖价格" : "My recently buy/sell price"; tradeHistoryDiv.style.textShadow = "1px 1px 2px black"; tradeHistoryDiv.style.display = "none"; safeOverlay.appendChild(tradeHistoryDiv); let btn_favo = document.createElement('button'); btn_favo.type = 'button'; btn_favo.innerText = '📌'; btn_favo.style.position = "absolute"; btn_favo.style.padding = "0"; btn_favo.style.margin = "0"; btn_favo.style.background = "transparent"; btn_favo.style.border = "none"; btn_favo.style.fontSize = "18px"; btn_favo.style.cursor = "pointer"; btn_favo.style.pointerEvents = "auto"; btn_favo.title = mwi.isZh ? "添加到自选" : "Add favorite"; btn_favo.style.display = "none"; safeOverlay.appendChild(btn_favo); btn_favo.onclick = () => { if (btn_favo.itemHridLevel) addFavo(btn_favo.itemHridLevel) }; let lastItemHridLevel = null; // 【核心修复 4】安全的定时器解析,防止空指针报错刷屏 setInterval(() => { let inMarketplace = document.querySelector(".MarketplacePanel_marketplacePanel__21b7o")?.checkVisibility(); if ((inMarketplace || (!inMarketplace && !config.autoHide))) { container.style.display = "block" try { let currentItem = document.querySelector(".MarketplacePanel_currentItem__3ercC"); if (currentItem && currentItem.checkVisibility()) { let rect = currentItem.getBoundingClientRect(); let iconElement = currentItem.querySelector("svg"); if (iconElement) { let iconRect = iconElement.getBoundingClientRect(); tradeHistoryDiv.style.left = (rect.left + rect.width / 2) + window.scrollX + "px"; tradeHistoryDiv.style.top = (rect.top + window.scrollY - 24) + "px"; btn_favo.style.left = (iconRect.right + window.scrollX + 8) + "px"; btn_favo.style.top = (iconRect.top + window.scrollY - 2) + "px"; } let levelStr = currentItem.querySelector(".Item_enhancementLevel__19g-e"); let enhancementLevel = parseInt(levelStr?.textContent.replace("+", "") || "0"); let useTag = currentItem.querySelector("svg use"); // 【保护】如果有任何未加载的元素,静默退出当前帧,不产生报错 if (!useTag || !useTag.href || !useTag.href.baseVal) return; let baseParts = useTag.href.baseVal.split("#"); if (baseParts.length < 2) return; let itemHrid = "/items/" + baseParts[1]; let itemHridLevel = itemHrid + ":" + enhancementLevel; if (itemHrid) { if (mwi.character?.gameMode === "standard") { btn_favo.itemHridLevel = itemHridLevel; btn_favo.style.display = "block"; } else { btn_favo.style.display = "none"; } if (trade_history[itemHridLevel]) { let buy = trade_history[itemHridLevel].buy || "--"; let sell = trade_history[itemHridLevel].sell || "--"; tradeHistoryDiv.innerHTML = `${showNumber(buy)} / ${showNumber(sell)}`; tradeHistoryDiv.style.display = "block"; } else { tradeHistoryDiv.style.display = "none"; } if (lastItemHridLevel !== itemHridLevel) { lastItemHridLevel = itemHridLevel; if (uiContainer.style.display === 'none') { delayItemHridName = itemHrid; delayItemLevel = enhancementLevel; } else { requestItemPrice(itemHrid, curDay, enhancementLevel); } } } } else { tradeHistoryDiv.style.display = "none"; btn_favo.style.display = "none"; lastItemHridLevel = null; } } catch (e) { } } else { container.style.display = "none"; tradeHistoryDiv.style.display = "none"; btn_favo.style.display = "none"; } }, 200); toggle(); } new Promise(resolve => { let count = 0; const interval = setInterval(() => { count++; if (count > 30) { clearInterval(interval); resolve(); } if (document.body && mwi.character?.gameMode) { clearInterval(interval); resolve(); } }, 1000); }).then(() => { mooket(); }); })();