Skip to content

Mega Walls

The Mega Walls module exposes a single parser, parseMegaWalls, which mirrors the raw stats.Walls3 block of the Hypixel player API field-for-field into readonly, fully-typed objects. Every value below is read straight from the raw JSON with no computation, no ratios, and no derived totals.

parseMegaWalls

Parses a player's Mega Walls stats (stats.Walls3) into a typed object.

ts
function parseMegaWalls(stats: Record<string, unknown>): MegaWallsStats | null;

Null / empty behavior

parseMegaWalls returns null when the input is not an object, is null, or has no keys. Otherwise it returns a fully-populated MegaWallsStats object. Missing fields are filled in by the safe readers used throughout the module:

  • Missing or non-number values become 0.
  • Missing or non-string values become "".
  • Boolean fields are true only when the raw value is exactly true, otherwise false.
  • Missing nested objects (leaderboardSettings, settings, privategames, each class's prestige_tag) are treated as empty objects, so every nested block is still present and populated with the defaults above.
  • Array fields (packages, cakes_found_by_name) become empty arrays ([]) when absent, and non-string entries are filtered out.

The dynamic maps are built only from the keys present in the raw data, so they may be empty:

  • votes collects every votes_<map> key with a numeric value.
  • chosenSkins collects every chosen_skin_<class> key with a string value.
  • effects collects every <name>_effect key with a string value.
  • byClass, classes, legacyClassStats, kitInventories, and the per-period finalKillsByClassTier* maps are keyed by class / kit names discovered in the raw data.

Class names for the per-class maps are discovered from the seed list of 15 known classes (MegaWallsClass) plus any class name found as a suffix on the raw kills_, kills_new_, deaths_, deaths_new_, wins_, losses_, assists_, finalKills_, and finalAssists_ keys (matching null or a capitalized identifier). Kit blocks are always built for the full fixed kit list, so kits always contains all 27 kit keys.


Returned type tree

MegaWallsClass

The union of the 15 seed class names used to discover per-class maps.

ts
type MegaWallsClass =
  | "Arcanist"
  | "Blaze"
  | "Creeper"
  | "Dreadlord"
  | "Enderman"
  | "Golem"
  | "Herobrine"
  | "Hunter"
  | "Pigman"
  | "Pirate"
  | "Shaman"
  | "Skeleton"
  | "Spider"
  | "Squid"
  | "Zombie";

MegaWallsStats

The root object returned by parseMegaWalls.

ts
interface MegaWallsStats {
  readonly coins: number;
  readonly witherCoins: number;
  readonly classPoints: number;
  readonly classPointsVersion: number;
  readonly mythicFavor: number;
  readonly exchangeFavorBought: number;
  readonly exchangeFavorSold: number;
  readonly newEnderchest: number;
  readonly newPrestige: number;
  readonly pickaxeLevel: number;
  readonly pickaxeRefunded: number;
  readonly playStreak: number;
  readonly refundedCoinsPp: number;
  readonly shoutTotal: number;
  readonly chosenClass: string;
  readonly chosenKillSign: string;
  readonly killMessage: string;
  readonly dreadlordEffect: string;
  readonly activeChallengeMap: string;
  readonly warCry: string;
  readonly smileyKills: string;
  readonly blood: boolean;
  readonly mutationsVisibility: boolean;
  readonly gvgDecide: boolean;
  readonly gvgEverybodyVotes: boolean;
  readonly faceOffJoinNoParty: boolean;
  readonly toggleHints: boolean;
  readonly toggleNotifications: boolean;
  readonly toggleSkillNotifications: boolean;
  readonly toggleInGameNightVision: boolean;
  readonly witherHealthHearts: boolean;
  readonly combatTracker: boolean;
  readonly warcryShortcuts: boolean;
  readonly tutorialCompleted: number;
  readonly endGameLeaderboard: string;
  readonly colorblind: MegaWallsColorblindSettings;
  readonly packages: readonly string[];
  readonly cakesFoundByName: readonly string[];
  readonly votes: Readonly<Record<string, number>>;
  readonly chosenSkins: Readonly<Record<string, string>>;
  readonly effects: Readonly<Record<string, string>>;
  readonly finalKillsLegacy: number;
  readonly finalKillsFaceOffLegacy: number;
  readonly finalKillsPracticeLegacy: number;
  readonly finalAssistsLegacy: number;
  readonly finalDeathsLegacy: number;
  readonly witherDamageLegacy: number;
  readonly killsNewLegacy: number;
  readonly killsPracticeLegacy: number;
  readonly deathsNewLegacy: number;
  readonly cakesFound: MegaWallsModeStats;
  readonly plays: MegaWallsPlays;
  readonly stats: MegaWallsActivityStats;
  readonly byClass: Readonly<Record<string, MegaWallsClassBreakdown>>;
  readonly legacyClassStats: Readonly<
    Record<string, Readonly<Record<string, number>>>
  >;
  readonly weekly: MegaWallsWeeklyStats;
  readonly monthly: MegaWallsMonthlyStats;
  readonly classes: Readonly<Record<string, MegaWallsClassProgress>>;
  readonly kits: Readonly<Record<string, MegaWallsKitStats>>;
  readonly kitInventories: Readonly<
    Record<string, Readonly<Record<string, string>>>
  >;
  readonly leaderboardSettings: MegaWallsLeaderboardSettings;
  readonly healthWarningSettings: MegaWallsHealthWarningSettings;
  readonly privateGameSettings: MegaWallsPrivateGameSettings;
}
FieldRaw sourceNotes
coinscoins
witherCoinswitherCoins
classPointsclass_points
classPointsVersionclass_points_version
mythicFavormythic_favor
exchangeFavorBoughtexchange_favor_bought
exchangeFavorSoldexchange_favor_sold
newEnderchestnew_echest
newPrestigenew_prestige
pickaxeLevelpickaxeLevel
pickaxeRefundedpickaxe_refunded
playStreakplay_streak
refundedCoinsPprefundedCoinsPP
shoutTotalshoutTotal
chosenClasschosen_class
chosenKillSignchosen_kill_sign
killMessagekill_message
dreadlordEffectDreadlord_effect
activeChallengeMapactiveChallengeMap
warCrywar_cry
smileyKillssmiley_kills
bloodblood
mutationsVisibilitymutations_visibility
gvgDecidegvg_decide
gvgEverybodyVotesgvg_everybodyvotes
faceOffJoinNoPartyfaceoff_join_noparty
toggleHintstoggle_hints
toggleNotificationstoggle_notifications
toggleSkillNotificationstoggle_skill_notifications
toggleInGameNightVisiontoggle_in_game_night_vision
witherHealthHeartswither_health_hearts
combatTrackercombatTracker
warcryShortcutswarcry_shortcuts
tutorialCompletedtutorial_completed
endGameLeaderboardend_game_leaderboard
packagespackagesFiltered to string entries.
cakesFoundByNamecakes_found_by_nameFiltered to string entries.
votesvotes_*<map> → numeric vote count.
chosenSkinschosen_skin_*<class> → skin string.
effects*_effect<name> → effect string (key is the part before _effect).
finalKillsLegacyfinalKills
finalKillsFaceOffLegacyfinalKills_face_off
finalKillsPracticeLegacyfinalKills_practice
finalAssistsLegacyfinalAssists
finalDeathsLegacyfinalDeaths
witherDamageLegacywitherDamage
killsNewLegacykills_new
killsPracticeLegacykills_practice
deathsNewLegacydeaths_new
cakesFoundcakes_foundMegaWallsModeStats over the cakes_found base.
stats(no prefix)MegaWallsActivityStats read from the root with an empty prefix.
byClassper discovered classMegaWallsClassBreakdown per discovered class name.
legacyClassStats<Class>_<stat> numbersCapitalized-prefixed numeric keys (excluding *_effect) grouped by class then stat.
kitsper kitMegaWallsKitStats for each of the 27 fixed kit names.
kitInventories*InventoryEach raw key ending Inventory → slot → item string map.

Shared stat shapes

MegaWallsModeStats

The per-mode breakdown applied to most counters. Read from <base>, <base>_standard, <base>_face_off, <base>_gvg.

ts
interface MegaWallsModeStats {
  readonly overall: number;
  readonly standard: number;
  readonly faceOff: number;
  readonly gvg: number;
}

MegaWallsRecordStats

Like MegaWallsModeStats but with an extra practice mode. Used for wins and losses.

ts
interface MegaWallsRecordStats {
  readonly overall: number;
  readonly standard: number;
  readonly faceOff: number;
  readonly gvg: number;
  readonly practice: number;
}

practice reads <base>_practice.

MegaWallsKillStats

Mode breakdown plus melee sub-breakdowns. Used for kills and finalKills.

ts
interface MegaWallsKillStats {
  readonly overall: number;
  readonly standard: number;
  readonly faceOff: number;
  readonly gvg: number;
  readonly melee: MegaWallsModeStats;
  readonly meleeBehind: MegaWallsModeStats;
}
FieldRaw source
overall<base>
standard<base>_standard
faceOff<base>_face_off
gvg<base>_gvg
meleeMegaWallsModeStats over <base>_melee
meleeBehindMegaWallsModeStats over <base>_melee_behind

MegaWallsActivationStats

Mode breakdown plus a deathmatch sub-breakdown. Base is <prefix>activations.

ts
interface MegaWallsActivationStats {
  readonly overall: number;
  readonly standard: number;
  readonly faceOff: number;
  readonly gvg: number;
  readonly deathmatch: MegaWallsModeStats;
}

deathmatch is a MegaWallsModeStats over <base>_deathmatch.

MegaWallsBlocksPlacedStats

Mode breakdown plus a preparation sub-breakdown. Base is <prefix>blocks_placed.

ts
interface MegaWallsBlocksPlacedStats {
  readonly overall: number;
  readonly standard: number;
  readonly faceOff: number;
  readonly gvg: number;
  readonly preparation: MegaWallsModeStats;
}

preparation is a MegaWallsModeStats over <base>_preparation.

MegaWallsDistanceStats

Mode breakdown plus a speed sub-breakdown. Base is <prefix>meters_walked.

ts
interface MegaWallsDistanceStats {
  readonly overall: number;
  readonly standard: number;
  readonly faceOff: number;
  readonly gvg: number;
  readonly speed: MegaWallsModeStats;
}

speed is a MegaWallsModeStats over <base>_speed.


Activity stats

MegaWallsActivityStats

The main activity-counter block. It appears both at the root (stats, empty prefix) and per kit (kits[kit].stats, prefix <kit>_). Every field except the final seven is a MegaWallsModeStats read from <prefix><raw_base>. The trailing seven are the richer shapes (kills, finalKills as MegaWallsKillStats; activations, blocksPlaced, metersWalked as their named shapes; wins, losses as MegaWallsRecordStats).

ts
interface MegaWallsActivityStats {
  readonly absorptionPotionsDrunk: MegaWallsModeStats;
  readonly alliesHealed: MegaWallsModeStats;
  readonly amountHealed: MegaWallsModeStats;
  readonly applesEaten: MegaWallsModeStats;
  readonly arrowsFired: MegaWallsModeStats;
  readonly arrowsFromRend: MegaWallsModeStats;
  readonly arrowsHit: MegaWallsModeStats;
  readonly assists: MegaWallsModeStats;
  readonly bedsCrafted: MegaWallsModeStats;
  readonly bedsPlaced: MegaWallsModeStats;
  readonly berserkedKills: MegaWallsModeStats;
  readonly blazesSpawned: MegaWallsModeStats;
  readonly blizzardSecondsSlow: MegaWallsModeStats;
  readonly blocksBroken: MegaWallsModeStats;
  readonly breadCrafted: MegaWallsModeStats;
  readonly breadEaten: MegaWallsModeStats;
  readonly bucketBarriersBroken: MegaWallsModeStats;
  readonly damageDealt: MegaWallsModeStats;
  readonly darkMatterArmor: MegaWallsModeStats;
  readonly deaths: MegaWallsModeStats;
  readonly defenderAssists: MegaWallsModeStats;
  readonly defenderFinalAssists: MegaWallsModeStats;
  readonly defenderFinalKills: MegaWallsModeStats;
  readonly defenderKills: MegaWallsModeStats;
  readonly diamondOreBroken: MegaWallsModeStats;
  readonly divineInterventions: MegaWallsModeStats;
  readonly endurancedFinalKills: MegaWallsModeStats;
  readonly enemiesHit: MegaWallsModeStats;
  readonly energyFromGrapplingHook: MegaWallsModeStats;
  readonly energySyphoned: MegaWallsModeStats;
  readonly finalAssists: MegaWallsModeStats;
  readonly finalAssistsAfterFinalKilled: MegaWallsModeStats;
  readonly finalAssistsMelee: MegaWallsModeStats;
  readonly finalDeaths: MegaWallsModeStats;
  readonly finalKillsAfterFinalKilled: MegaWallsModeStats;
  readonly finalKillsAfterGrapplingHook: MegaWallsModeStats;
  readonly finalKillsBelow10Hp: MegaWallsModeStats;
  readonly finalKillsBelow5Hp: MegaWallsModeStats;
  readonly finalKillsRanged: MegaWallsModeStats;
  readonly finalKillsRanged30: MegaWallsModeStats;
  readonly finalKillsRanged50: MegaWallsModeStats;
  readonly finalKillsWithFire: MegaWallsModeStats;
  readonly finalWaterKills: MegaWallsModeStats;
  readonly finalsWithStrength: MegaWallsModeStats;
  readonly fishEaten: MegaWallsModeStats;
  readonly foodEaten: MegaWallsModeStats;
  readonly forceOfNatureFinalAssists: MegaWallsModeStats;
  readonly forceOfNatureFinalKills: MegaWallsModeStats;
  readonly gamesBedsPlaced: MegaWallsModeStats;
  readonly gamesPlayed: MegaWallsModeStats;
  readonly goldenApplesEaten: MegaWallsModeStats;
  readonly healedLowTeammates: MegaWallsModeStats;
  readonly heroismTriggers: MegaWallsModeStats;
  readonly heroismTriggersInDm: MegaWallsModeStats;
  readonly innerInkBlinds: MegaWallsModeStats;
  readonly ironArmorGifted: MegaWallsModeStats;
  readonly ironArmorGiftedDecember: MegaWallsModeStats;
  readonly ironHeartAbsorption: MegaWallsModeStats;
  readonly ironOreBroken: MegaWallsModeStats;
  readonly ironSwordCrafted: MegaWallsModeStats;
  readonly junkItemsEaten: MegaWallsModeStats;
  readonly killsRanged: MegaWallsModeStats;
  readonly killsWithStrength: MegaWallsModeStats;
  readonly masterAlechmyHearts: MegaWallsModeStats;
  readonly metersFallen: MegaWallsModeStats;
  readonly metersTravelled: MegaWallsModeStats;
  readonly onFireFinalKills: MegaWallsModeStats;
  readonly onFireKills: MegaWallsModeStats;
  readonly perfectDisguises: MegaWallsModeStats;
  readonly playersHealed: MegaWallsModeStats;
  readonly potionsDrunk: MegaWallsModeStats;
  readonly potionsSplashed: MegaWallsModeStats;
  readonly primedTntKills: MegaWallsModeStats;
  readonly resistanceTimeSeconds: MegaWallsModeStats;
  readonly selfHealed: MegaWallsModeStats;
  readonly snowmenBuilt: MegaWallsModeStats;
  readonly snowmenPlayersHit: MegaWallsModeStats;
  readonly steaksEaten: MegaWallsModeStats;
  readonly strikesFromCloak: MegaWallsModeStats;
  readonly swordCrafted: MegaWallsModeStats;
  readonly timePlayed: MegaWallsModeStats;
  readonly totalDeaths: MegaWallsModeStats;
  readonly totalFinalKills: MegaWallsModeStats;
  readonly totalKills: MegaWallsModeStats;
  readonly treasuresFound: MegaWallsModeStats;
  readonly ultraPasteurizedDrank: MegaWallsModeStats;
  readonly venomStrikePoisonDamage: MegaWallsModeStats;
  readonly waterKills: MegaWallsModeStats;
  readonly witherDamage: MegaWallsModeStats;
  readonly witherKills: MegaWallsModeStats;
  readonly witherKillsLastAlive: MegaWallsModeStats;
  readonly woodChopped: MegaWallsModeStats;
  readonly kills: MegaWallsKillStats;
  readonly finalKills: MegaWallsKillStats;
  readonly activations: MegaWallsActivationStats;
  readonly blocksPlaced: MegaWallsBlocksPlacedStats;
  readonly metersWalked: MegaWallsDistanceStats;
  readonly wins: MegaWallsRecordStats;
  readonly losses: MegaWallsRecordStats;
}

Raw base for each MegaWallsModeStats field (read as <prefix><raw_base> and its _standard / _face_off / _gvg siblings):

FieldRaw base
absorptionPotionsDrunkabsorption_potions_drunk
alliesHealedallies_healed
amountHealedamount_healed
applesEatenapples_eaten
arrowsFiredarrows_fired
arrowsFromRendarrows_from_rend
arrowsHitarrows_hit
assistsassists
bedsCraftedbeds_crafted
bedsPlacedbeds_placed
berserkedKillsberserked_kills
blazesSpawnedblazes_spawned
blizzardSecondsSlowblizzard_seconds_slow
blocksBrokenblocks_broken
breadCraftedbread_crafted
breadEatenbread_eaten
bucketBarriersBrokenbucket_barriers_broken
damageDealtdamage_dealt
darkMatterArmordark_matter_armor
deathsdeaths
defenderAssistsdefender_assists
defenderFinalAssistsdefender_final_assists
defenderFinalKillsdefender_final_kills
defenderKillsdefender_kills
diamondOreBrokendiamond_ore_broken
divineInterventionsdivine_interventions
endurancedFinalKillsenduranced_final_kills
enemiesHitenemies_hit
energyFromGrapplingHookenergy_from_grappling_hook
energySyphonedenergy_syphoned
finalAssistsfinal_assists
finalAssistsAfterFinalKilledfinal_assists_after_final_killed
finalAssistsMeleefinal_assists_melee
finalDeathsfinal_deaths
finalKillsAfterFinalKilledfinal_kills_after_final_killed
finalKillsAfterGrapplingHookfinal_kills_after_grappling_hook
finalKillsBelow10Hpfinal_kills_below_10_hp
finalKillsBelow5Hpfinal_kills_below_5_hp
finalKillsRangedfinal_kills_ranged
finalKillsRanged30final_kills_ranged_30
finalKillsRanged50final_kills_ranged_50
finalKillsWithFirefinal_kills_with_fire
finalWaterKillsfinal_water_kills
finalsWithStrengthfinals_with_strength
fishEatenfish_eaten
foodEatenfood_eaten
forceOfNatureFinalAssistsforce_of_nature_final_assists
forceOfNatureFinalKillsforce_of_nature_final_kills
gamesBedsPlacedgames_beds_placed
gamesPlayedgames_played
goldenApplesEatengolden_apples_eaten
healedLowTeammateshealed_low_teammates
heroismTriggersheroism_triggers
heroismTriggersInDmheroism_triggers_in_dm
innerInkBlindsinner_ink_blinds
ironArmorGiftediron_armor_gifted
ironArmorGiftedDecemberiron_armor_gifted_december
ironHeartAbsorptioniron_heart_absorption
ironOreBrokeniron_ore_broken
ironSwordCraftediron_sword_crafted
junkItemsEatenjunk_items_eaten
killsRangedkills_ranged
killsWithStrengthkills_with_strength
masterAlechmyHeartsmaster_alechmy_hearts
metersFallenmeters_fallen
metersTravelledmeters_travelled
onFireFinalKillson_fire_final_kills
onFireKillson_fire_kills
perfectDisguisesperfect_disguises
playersHealedplayers_healed
potionsDrunkpotions_drunk
potionsSplashedpotions_splashed
primedTntKillsprimed_tnt_kills
resistanceTimeSecondsresistance_time_seconds
selfHealedself_healed
snowmenBuiltsnowmen_built
snowmenPlayersHitsnowmen_players_hit
steaksEatensteaks_eaten
strikesFromCloakstrikes_from_cloak
swordCraftedsword_crafted
timePlayedtime_played
totalDeathstotal_deaths
totalFinalKillstotal_final_kills
totalKillstotal_kills
treasuresFoundtreasures_found
ultraPasteurizedDrankultra_pasteurized_drank
venomStrikePoisonDamagevenom_strike_poison_damage
waterKillswater_kills
witherDamagewither_damage
witherKillswither_kills
witherKillsLastAlivewither_kills_last_alive
woodChoppedwood_chopped

The richer trailing fields:

FieldShapeRaw base
killsMegaWallsKillStats<prefix>kills
finalKillsMegaWallsKillStats<prefix>final_kills
activationsMegaWallsActivationStats<prefix>activations
blocksPlacedMegaWallsBlocksPlacedStats<prefix>blocks_placed
metersWalkedMegaWallsDistanceStats<prefix>meters_walked
winsMegaWallsRecordStats<prefix>wins
lossesMegaWallsRecordStats<prefix>losses

Kits

MegaWallsKitStats

One entry per kit (the 27 fixed kit names: cow, hunter, shark, arcanist, dreadlord, golem, herobrine, pigman, zombie, blaze, enderman, shaman, squid, creeper, pirate, sheep, skeleton, spider, werewolf, angel, assassin, automaton, moleman, phoenix, renegade, snowman, dragon). All values are read with the <kit>_ prefix.

ts
interface MegaWallsKitStats {
  readonly stats: MegaWallsActivityStats;
  readonly tiers: MegaWallsKitTiers;
  readonly newTiers: MegaWallsKitTiers;
  readonly infused: MegaWallsKitTiers;
  readonly enderchestLevel: number;
  readonly classPoints: number;
  readonly prestigeLevel: number;
  readonly reclaimed: number;
  readonly abilitySlots: MegaWallsKitAbilitySlots;
}
FieldRaw source
statsMegaWallsActivityStats over prefix <kit>_.
tiersMegaWallsKitTiers over prefix <kit>_ (e.g. <kit>_a).
newTiersMegaWallsKitTiers over prefix <kit>_new_.
infusedMegaWallsKitTiers from <kit>_<slot>_infused.
enderchestLevel<kit>_enderchest_level
classPoints<kit>_class_points
prestigeLevel<kit>_prestige_level
reclaimed<kit>_reclaimed
abilitySlotsMegaWallsKitAbilitySlots (slots ag).

MegaWallsKitTiers

ts
interface MegaWallsKitTiers {
  readonly a: number;
  readonly b: number;
  readonly c: number;
  readonly d: number;
  readonly g: number;
}

For tiers and newTiers each field reads <prefix><slot>; for infused each reads <kit>_<slot>_infused.

MegaWallsKitAbilitySlots

The five ability slots of a kit. Slots a, b, c share the full ability-slot shape; d and g are leaner.

ts
interface MegaWallsKitAbilitySlots {
  readonly a: MegaWallsAbilitySlotStats;
  readonly b: MegaWallsAbilitySlotStats;
  readonly c: MegaWallsAbilitySlotStats;
  readonly d: MegaWallsAbilityDSlotStats;
  readonly g: MegaWallsAbilityGSlotStats;
}

Each slot is read with the prefix <kit>_<slot>_.

MegaWallsAbilitySlotStats

The ability-slot stat block for slots a, b, and c. Each leading field is a MegaWallsModeStats over <prefix><raw_base>; the trailing three are the richer shapes.

ts
interface MegaWallsAbilitySlotStats {
  readonly alliesHealed: MegaWallsModeStats;
  readonly amountHealed: MegaWallsModeStats;
  readonly assists: MegaWallsModeStats;
  readonly blazesSpawned: MegaWallsModeStats;
  readonly blocksBroken: MegaWallsModeStats;
  readonly damageDealt: MegaWallsModeStats;
  readonly diamondOreBroken: MegaWallsModeStats;
  readonly defenderAssists: MegaWallsModeStats;
  readonly defenderFinalAssists: MegaWallsModeStats;
  readonly defenderFinalKills: MegaWallsModeStats;
  readonly defenderKills: MegaWallsModeStats;
  readonly endurancedFinalKills: MegaWallsModeStats;
  readonly enemiesHit: MegaWallsModeStats;
  readonly finalAssists: MegaWallsModeStats;
  readonly finalAssistsAfterFinalKilled: MegaWallsModeStats;
  readonly finalAssistsMelee: MegaWallsModeStats;
  readonly finalKillsAfterFinalKilled: MegaWallsModeStats;
  readonly finalKillsAfterGrapplingHook: MegaWallsModeStats;
  readonly finalKillsBelow10Hp: MegaWallsModeStats;
  readonly finalKillsBelow5Hp: MegaWallsModeStats;
  readonly healedLowTeammates: MegaWallsModeStats;
  readonly heroismTriggers: MegaWallsModeStats;
  readonly heroismTriggersInDm: MegaWallsModeStats;
  readonly innerInkBlinds: MegaWallsModeStats;
  readonly ironHeartAbsorption: MegaWallsModeStats;
  readonly ironOreBroken: MegaWallsModeStats;
  readonly junkItemsEaten: MegaWallsModeStats;
  readonly metersTravelled: MegaWallsModeStats;
  readonly onFireFinalKills: MegaWallsModeStats;
  readonly onFireKills: MegaWallsModeStats;
  readonly perfectDisguises: MegaWallsModeStats;
  readonly playersHealed: MegaWallsModeStats;
  readonly resistanceTimeSeconds: MegaWallsModeStats;
  readonly selfHealed: MegaWallsModeStats;
  readonly totalFinalKills: MegaWallsModeStats;
  readonly totalKills: MegaWallsModeStats;
  readonly venomStrikePoisonDamage: MegaWallsModeStats;
  readonly kills: MegaWallsKillStats;
  readonly finalKills: MegaWallsKillStats;
  readonly activations: MegaWallsActivationStats;
}

Raw base for each MegaWallsModeStats field:

FieldRaw base
alliesHealedallies_healed
amountHealedamount_healed
assistsassists
blazesSpawnedblazes_spawned
blocksBrokenblocks_broken
damageDealtdamage_dealt
diamondOreBrokendiamond_ore_broken
defenderAssistsdefender_assists
defenderFinalAssistsdefender_final_assists
defenderFinalKillsdefender_final_kills
defenderKillsdefender_kills
endurancedFinalKillsenduranced_final_kills
enemiesHitenemies_hit
finalAssistsfinal_assists
finalAssistsAfterFinalKilledfinal_assists_after_final_killed
finalAssistsMeleefinal_assists_melee
finalKillsAfterFinalKilledfinal_kills_after_final_killed
finalKillsAfterGrapplingHookfinal_kills_after_grappling_hook
finalKillsBelow10Hpfinal_kills_below_10_hp
finalKillsBelow5Hpfinal_kills_below_5_hp
healedLowTeammateshealed_low_teammates
heroismTriggersheroism_triggers
heroismTriggersInDmheroism_triggers_in_dm
innerInkBlindsinner_ink_blinds
ironHeartAbsorptioniron_heart_absorption
ironOreBrokeniron_ore_broken
junkItemsEatenjunk_items_eaten
metersTravelledmeters_travelled
onFireFinalKillson_fire_final_kills
onFireKillson_fire_kills
perfectDisguisesperfect_disguises
playersHealedplayers_healed
resistanceTimeSecondsresistance_time_seconds
selfHealedself_healed
totalFinalKillstotal_final_kills
totalKillstotal_kills
venomStrikePoisonDamagevenom_strike_poison_damage

Trailing fields: kills (MegaWallsKillStats over <prefix>kills), finalKills (MegaWallsKillStats over <prefix>final_kills), activations (MegaWallsActivationStats over prefix).

MegaWallsAbilityDSlotStats

The leaner shape for slot d.

ts
interface MegaWallsAbilityDSlotStats {
  readonly activations: MegaWallsActivationStats;
  readonly selfHealed: MegaWallsModeStats;
}
FieldRaw source
activationsMegaWallsActivationStats over prefix.
selfHealedMegaWallsModeStats over <prefix>self_healed.

MegaWallsAbilityGSlotStats

The shape for slot g.

ts
interface MegaWallsAbilityGSlotStats {
  readonly activations: MegaWallsActivationStats;
  readonly amountHealed: MegaWallsModeStats;
  readonly darkMatterArmor: MegaWallsModeStats;
  readonly selfHealed: MegaWallsModeStats;
}
FieldRaw source
activationsMegaWallsActivationStats over prefix.
amountHealedMegaWallsModeStats over <prefix>amount_healed.
darkMatterArmorMegaWallsModeStats over <prefix>dark_matter_armor.
selfHealedMegaWallsModeStats over <prefix>self_healed.

Per-class breakdowns

MegaWallsClassBreakdown

One entry per discovered class in byClass. Read with the <klass> suffix on each raw key.

ts
interface MegaWallsClassBreakdown {
  readonly kills: number;
  readonly killsNew: number;
  readonly deaths: number;
  readonly deathsNew: number;
  readonly wins: number;
  readonly losses: number;
  readonly assists: number;
  readonly finalKills: number;
  readonly finalAssists: number;
  readonly faceOffKills: number;
  readonly faceOffFinalKills: number;
  readonly faceOffWins: number;
  readonly faceOffLosses: number;
  readonly practiceKills: number;
  readonly practiceFinalKills: number;
  readonly practiceWins: number;
  readonly practiceLosses: number;
}
FieldRaw source
killskills_<klass>
killsNewkills_new_<klass>
deathsdeaths_<klass>
deathsNewdeaths_new_<klass>
winswins_<klass>
losseslosses_<klass>
assistsassists_<klass>
finalKillsfinalKills_<klass>
finalAssistsfinalAssists_<klass>
faceOffKillskills_face_off_<klass>
faceOffFinalKillsfinalKills_face_off_<klass>
faceOffWinswins_face_off_<klass>
faceOffLosseslosses_face_off_<klass>
practiceKillskills_practice_<klass>
practiceFinalKillsfinalKills_practice_<klass>
practiceWinswins_practice_<klass>
practiceLosseslosses_practice_<klass>

MegaWallsWeeklyClassBreakdown

One entry per discovered class in weekly.byClass. Read with the <klass> suffix.

ts
interface MegaWallsWeeklyClassBreakdown {
  readonly kills: number;
  readonly deaths: number;
  readonly wins: number;
  readonly losses: number;
  readonly finalKills: number;
  readonly faceOffKills: number;
  readonly faceOffWins: number;
  readonly faceOffLosses: number;
  readonly practiceKills: number;
  readonly practiceWins: number;
  readonly practiceLosses: number;
}
FieldRaw source
killsweeklyKills_<klass>
deathsweeklyDeaths_<klass>
winsweeklyWins_<klass>
lossesweeklyLosses_<klass>
finalKillsweeklyFinalKills_<klass>
faceOffKillsweeklyKills_face_off_<klass>
faceOffWinsweeklyWins_face_off_<klass>
faceOffLossesweeklyLosses_face_off_<klass>
practiceKillsweeklyKills_practice_<klass>
practiceWinsweeklyWins_practice_<klass>
practiceLossesweeklyLosses_practice_<klass>

MegaWallsPeriodTierFinalKills

Final-kills split across the two tracked tiers. Used throughout the weekly and monthly period blocks.

ts
interface MegaWallsPeriodTierFinalKills {
  readonly a: number;
  readonly b: number;
}

Read as <period>_finalKills_<klass>_a and <period>_finalKills_<klass>_b, where <period> is weekly or monthly and <klass> is a class name or a mode token such as face_off / practice.


Periodic stats

MegaWallsWeeklyStats

ts
interface MegaWallsWeeklyStats {
  readonly kills: number;
  readonly deaths: number;
  readonly wins: number;
  readonly losses: number;
  readonly finalKills: number;
  readonly faceOffKills: number;
  readonly faceOffWins: number;
  readonly faceOffLosses: number;
  readonly practiceKills: number;
  readonly practiceWins: number;
  readonly practiceLosses: number;
  readonly byClass: Readonly<Record<string, MegaWallsWeeklyClassBreakdown>>;
  readonly finalKillsByTier: MegaWallsPeriodTierFinalKills;
  readonly finalKillsByTierFaceOff: MegaWallsPeriodTierFinalKills;
  readonly finalKillsByTierPractice: MegaWallsPeriodTierFinalKills;
  readonly finalKillsByClassTier: Readonly<
    Record<string, MegaWallsPeriodTierFinalKills>
  >;
  readonly finalKillsByClassTierFaceOff: Readonly<
    Record<string, MegaWallsPeriodTierFinalKills>
  >;
  readonly finalKillsByClassTierPractice: Readonly<
    Record<string, MegaWallsPeriodTierFinalKills>
  >;
}
FieldRaw source
killsweeklyKills
deathsweeklyDeaths
winsweeklyWins
lossesweeklyLosses
finalKillsweeklyFinalKills
faceOffKillsweeklyKills_face_off
faceOffWinsweeklyWins_face_off
faceOffLossesweeklyLosses_face_off
practiceKillsweeklyKills_practice
practiceWinsweeklyWins_practice
practiceLossesweeklyLosses_practice
byClassMegaWallsWeeklyClassBreakdown per discovered class.
finalKillsByTierweekly_finalKills_a / weekly_finalKills_b.
finalKillsByTierFaceOffweekly_finalKills_face_off_a / _b.
finalKillsByTierPracticeweekly_finalKills_practice_a / _b.
finalKillsByClassTierweekly_finalKills_<klass>_a / _b per class.
finalKillsByClassTierFaceOffweekly_finalKills_face_off_<klass>_a / _b per class.
finalKillsByClassTierPracticeweekly_finalKills_practice_<klass>_a / _b per class.

MegaWallsMonthlyStats

ts
interface MegaWallsMonthlyStats {
  readonly finalKillsByTier: MegaWallsPeriodTierFinalKills;
  readonly finalKillsByTierFaceOff: MegaWallsPeriodTierFinalKills;
  readonly finalKillsByTierPractice: MegaWallsPeriodTierFinalKills;
  readonly finalKillsByClassTier: Readonly<
    Record<string, MegaWallsPeriodTierFinalKills>
  >;
  readonly finalKillsByClassTierFaceOff: Readonly<
    Record<string, MegaWallsPeriodTierFinalKills>
  >;
  readonly finalKillsByClassTierPractice: Readonly<
    Record<string, MegaWallsPeriodTierFinalKills>
  >;
}
FieldRaw source
finalKillsByTiermonthly_finalKills_a / monthly_finalKills_b.
finalKillsByTierFaceOffmonthly_finalKills_face_off_a / _b.
finalKillsByTierPracticemonthly_finalKills_practice_a / _b.
finalKillsByClassTiermonthly_finalKills_<klass>_a / _b per class.
finalKillsByClassTierFaceOffmonthly_finalKills_face_off_<klass>_a / _b per class.
finalKillsByClassTierPracticemonthly_finalKills_practice_<klass>_a / _b per class.

MegaWallsPlays

ts
interface MegaWallsPlays {
  readonly standard: number;
  readonly faceOff: number;
  readonly practice: number;
}
FieldRaw source
standardplays_standard
faceOffplays_face_off
practiceplays_practice

Class progress

MegaWallsClassProgress

One entry per key in the raw classes object (non-object entries are skipped). Read with the per-class progress object.

ts
interface MegaWallsClassProgress {
  readonly unlocked: boolean;
  readonly prestige: number;
  readonly enderchestRows: number;
  readonly goldenTag: boolean;
  readonly checked: boolean;
  readonly checked2: boolean;
  readonly checked3: boolean;
  readonly checked4: boolean;
  readonly prestigeChecked: boolean;
  readonly prestigeChecked2: boolean;
  readonly prestigeChecked4: boolean;
  readonly skillLevels: MegaWallsClassSkillLevels;
  readonly skillLevelsChecked: MegaWallsClassSkillFlags;
  readonly skillLevelsChecked4: MegaWallsClassSkillFlags;
  readonly skillLevelsChecked5: MegaWallsClassSkillFlags;
  readonly prestigeTag: MegaWallsPrestigeTag;
}
FieldRaw source
unlockedunlocked
prestigeprestige
enderchestRowsenderchest_rows
goldenTaggolden_tag
checkedchecked
checked2checked2
checked3checked3
checked4checked4
prestigeCheckedprestigeChecked
prestigeChecked2prestigeChecked2
prestigeChecked4prestigeChecked4
skillLevelsMegaWallsClassSkillLevels.
skillLevelsCheckedMegaWallsClassSkillFlags with suffix Checked.
skillLevelsChecked4MegaWallsClassSkillFlags with suffix Checked4.
skillLevelsChecked5MegaWallsClassSkillFlags with suffix Checked5.
prestigeTagMegaWallsPrestigeTag from prestige_tag.

MegaWallsClassSkillLevels

ts
interface MegaWallsClassSkillLevels {
  readonly a: number;
  readonly b: number;
  readonly c: number;
  readonly d: number;
  readonly g: number;
}

Each field reads skill_level_<slot>.

MegaWallsClassSkillFlags

ts
interface MegaWallsClassSkillFlags {
  readonly a: boolean;
  readonly b: boolean;
  readonly c: boolean;
  readonly d: boolean;
  readonly g: boolean;
}

Each field reads skill_level_<slot><suffix>, where <suffix> is Checked, Checked4, or Checked5 depending on the parent field.

MegaWallsPrestigeTag

Read from the per-class prestige_tag object.

ts
interface MegaWallsPrestigeTag {
  readonly classPointsShowcase: boolean;
  readonly type: string;
}
FieldRaw source
classPointsShowcaseclass_points_showcase
typetype

Settings and cosmetics

MegaWallsColorblindSettings

Read from the colorblind* keys at the root.

ts
interface MegaWallsColorblindSettings {
  readonly enabled: boolean;
  readonly bold: boolean;
  readonly italic: boolean;
  readonly red: string;
  readonly green: string;
  readonly blue: string;
  readonly yellow: string;
}
FieldRaw source
enabledcolorblind
boldcolorblind_bold
italiccolorblind_italic
redcolorblind_red
greencolorblind_green
bluecolorblind_blue
yellowcolorblind_yellow

MegaWallsLeaderboardSettings

Read from the raw leaderboardSettings object.

ts
interface MegaWallsLeaderboardSettings {
  readonly resetType: string;
  readonly class: string;
}
FieldRaw source
resetTyperesetType
classclass

MegaWallsHealthWarningSettings

Read from the raw settings object.

ts
interface MegaWallsHealthWarningSettings {
  readonly half: boolean;
  readonly low: boolean;
  readonly veryLow: boolean;
  readonly extremelyLow: boolean;
  readonly dangerouslyLow: boolean;
}
FieldRaw source
halfhalf
lowlow
veryLowveryLow
extremelyLowextremelyLow
dangerouslyLowdangerouslyLow

MegaWallsPrivateGameSettings

Read from the raw privategames object.

ts
interface MegaWallsPrivateGameSettings {
  readonly timeOfDay: string;
  readonly preparationTime: string;
  readonly witherHealth: string;
  readonly instantDeathmatch: string;
  readonly energyGain: string;
}
FieldRaw source
timeOfDaytime_of_day
preparationTimepreparation_time
witherHealthwither_health
instantDeathmatchinstant_deathmatch
energyGainenergy_gain

Released under the MIT License.