{
  "version": "1.21.1",
  "release": "3.7.16.1",
  "scope": "All 48 ordinary armor-set reviews: released callback routes, cross-class effects, attribute inputs and explicit unresolved summon paths. Static inspection, no game execution or full runtime certification.",
  "sets": {
    "alacrity": {
      "summary": "The full-set invulnerability callback checks the fall-damage tag. The partial-set incoming-damage callback checks only absence of FULL_SET before adding an armor-stage reduction; it has no fall-source guard in this method. Its lambda uses equippedPieces.size \u00d7 0.2.",
      "status": "Tooltip/implementation scope mismatch requiring target-build review; no observed combat bug or applied fix.",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/AlacrityArmour.class",
          "name": "checkDamageInvulnerability"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/AlacrityArmour.class",
          "name": "handleIncomingDamage"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/AlacrityArmour.class",
          "name": "lambda$handleIncomingDamage$0"
        }
      ]
    },
    "embrodium": {
      "summary": "Server-player tick callback reads Spirit per-tick regeneration (fallback 0.04). Full set adds 0.25\u00d7regen. Above ambient temperature 0.8, it additionally adds perPieceValue(0.25\u00d7regen)\u00d7min(1,temperature/2); only positive totals are submitted. This is an extra resource request, not a measured final recovery rate.",
      "status": "Selected branch checked",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/EmbrodiumArmour.class",
          "name": "onArmourTick"
        }
      ]
    },
    "hazmat": {
      "summary": "FULL_SET plus air below maximum triggers setting air to maximum. The airtight helmet method separately calls PlayerUtil.isWearingFullSet for its material.",
      "status": "Selected branch checked",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/HazmatArmour.class",
          "name": "onArmourTick"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/HazmatArmour.class",
          "name": "isHelmetAirTight"
        }
      ]
    },
    "ice": {
      "summary": "Server-side inventoryTick requires numeric slotId 36\u201340 inclusive, a LivingEntity wearer, damage>0, random nextFloat<0.02 and ambient temperature<0.15. It then subtracts one damage point. These are callback gates, not proof that every engine inventory slot invokes this hook identically.",
      "status": "Selected branch checked",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/IceArmour.class",
          "name": "inventoryTick"
        }
      ]
    },
    "infernal": {
      "summary": "Incoming damage must match IS_FIRE before adding a reduction with perPieceValue(0.15). Full-set fire-tag invulnerability is a separate callback. The reduction helper acts on remaining damage at its stage.",
      "status": "Selected branch checked",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/InfernalArmour.class",
          "name": "handleIncomingDamage"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/InfernalArmour.class",
          "name": "checkDamageInvulnerability"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/InfernalArmour.class",
          "name": "lambda$handleIncomingDamage$0"
        }
      ]
    },
    "lyndamyte": {
      "summary": "Retaliation requires positive new damage, server side, a melee source and a RandomUtil.percentChance call with perPieceValue(0.25); it requests five seconds of fire on the source entity. Full-set outgoing melee attacks separately request five seconds of fire on the target. External random-helper semantics and final immunity/hooks remain separate.",
      "status": "Selected branch checked",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/LyndamyteArmour.class",
          "name": "afterTakingDamage"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/LyndamyteArmour.class",
          "name": "handleOutgoingAttack"
        }
      ]
    },
    "skeletal": {
      "summary": "For a ServerPlayer with saturation<1 and FULL_SET, the callback saves the food level, calls FoodData.eat(1,0.5), then restores the food level. This is saturation maintenance rather than a direct command to set a full hunger bar.",
      "status": "Selected branch checked",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/SkeletalArmour.class",
          "name": "onArmourTick"
        }
      ]
    },
    "void": {
      "summary": "Requires positive new damage, a LivingEntity attacker and a melee source. RandomUtil.percentChance receives 0.2 for FULL_SET, otherwise perPieceValue(0.025). Successful calls build MOVEMENT_SLOWDOWN with duration input 30 and level input 20 for the attacker. The full-set branch is a total input, not a second additive random roll.",
      "status": "Selected branch checked; EffectBuilder level/duration interpretation not reimplemented",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/VoidArmour.class",
          "name": "afterTakingDamage"
        }
      ]
    },
    "wither": {
      "summary": "Incoming reduction requires the IS_WITHER tag and perPieceValue(0.25). Full set plus that tag sets invulnerability and builds DAMAGE_RESISTANCE with duration input 60, ambient and hidden-icon flags. The effect is requested on a qualifying damage check, not merely because a status-effect icon exists.",
      "status": "Selected branch checked",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/WitherArmour.class",
          "name": "checkDamageInvulnerability"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/WitherArmour.class",
          "name": "handleIncomingDamage"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/WitherArmour.class",
          "name": "lambda$handleIncomingDamage$0"
        }
      ]
    },
    "ghoulish": {
      "summary": "The local outgoing callback multiplies energy-tagged damage input by 1 + perPieceValue(0.1). Separately, AoABlaster.getSpiritCost applies a full-set multiplier of 0.7 after Spirit/ammo enchantment adjustments. Non-player shooters, infinite-material consumption and weapon overrides have separate paths; this does not make every weapon 30% cheaper.",
      "status": "Local damage and external cost routes checked",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/GhoulishArmour.class",
          "name": "handleOutgoingAttack"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/weapon/blaster/AoABlaster.class",
          "name": "getSpiritCost"
        }
      ]
    },
    "hydrangic": {
      "summary": "The armor class only supplies its tooltip; the effect is in PlayerEvents.onBlockPlace. It requires a ServerPlayer, the Hydrangic full set, a placed CropBlock and successful BoneMealItem.applyBonemeal. It then emits growth effects and calls hurtArmor with generic damage input 16. That input is not a claim of exactly 16 durability lost per item or guaranteed instant crop maturity.",
      "status": "External planting route checked",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/event/PlayerEvents.class",
          "name": "onBlockPlace"
        }
      ]
    },
    "nightmare": {
      "summary": "ItemUtil.findAndConsumeRunes enables the armor adjustment only when allowBuffs is true and the full set is recognized. After the rune-cost enchantment stage, the lambda removes Distortion Rune requirements and applies max(cost \u2212 1, 1) to other runes; an ammo-cost enchantment stage follows. A one-rune requirement therefore does not become free from the armor subtraction alone. Infinite-material callers and stored staff charges can bypass this payment route.",
      "status": "External rune-payment route and lambda checked",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/util/ItemUtil.class",
          "name": "findAndConsumeRunes"
        },
        {
          "class_path": "net/tslat/aoa3/util/ItemUtil.class",
          "name": "lambda$findAndConsumeRunes$4"
        }
      ]
    },
    "speed": {
      "summary": "Four slot-specific MOVEMENT_SPEED modifiers each use amount 0.1 with ADD_MULTIPLIED_TOTAL. The FULL_SET equip callback applies a separate transient modifier of the same amount/operation; the matching unequip callback removes it. These are independent attribute operations, not a proof that adding five displayed percentages gives the final movement speed.",
      "status": "Slot modifiers and full-set equip/unequip pair checked",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/SpeedArmour.class",
          "name": "addArmourAttributes"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/SpeedArmour.class",
          "name": "onEquip"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/SpeedArmour.class",
          "name": "onUnequip"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/SpeedArmour.class",
          "name": "<clinit>"
        }
      ]
    },
    "knight": {
      "summary": "Each ordinary slot supplies +5 MAX_HEALTH using ADD_VALUE. The tick effect requires FULL_SET, a living wearer and health fraction below 0.2; it builds DAMAGE_BOOST with duration input 2 and level input 2. Maximum health is not the same as healing current health, and effect-builder inputs are not independently simulated here.",
      "status": "Slot modifiers and low-health gate checked",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/KnightArmour.class",
          "name": "addArmourAttributes"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/KnightArmour.class",
          "name": "onArmourTick"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/KnightArmour.class",
          "name": "<clinit>"
        }
      ]
    },
    "phantasm": {
      "summary": "Each ordinary slot supplies +1 LUCK using ADD_VALUE. That is an attribute increase, not a universal extra-drop percentage; the particular loot table must actually use luck for it to affect that outcome.",
      "status": "Four slot-specific attribute modifiers checked",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/PhantasmArmour.class",
          "name": "addArmourAttributes"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/PhantasmArmour.class",
          "name": "<clinit>"
        }
      ]
    },
    "purity": {
      "summary": "The inspected onEquip callback removes existing Weakness, Slowness, Mining Fatigue, Blindness and Nausea without a FULL_SET guard in that method. Separately, onEffectApplication requires FULL_SET before rejecting those five future effects. Clearing an existing effect on equip and preventing reapplication are distinct gates; verify transitions rather than treating a single piece as permanent immunity.",
      "status": "Equip-time cleanup versus full-set prevention distinguished",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/PurityArmour.class",
          "name": "onEquip"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/PurityArmour.class",
          "name": "onEffectApplication"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/PurityArmour.class",
          "name": "lambda$static$0"
        }
      ]
    },
    "subterranean": {
      "summary": "FULL_SET equip applies a transient ATTACK_SPEED modifier of \u22120.16666667 using ADD_MULTIPLIED_TOTAL, and unequip removes it. The full-set tick callback also builds DIG_SPEED with duration input 2 and level input 2, hiding particles. Preserve the tradeoff and its cleanup when porting; the tooltip alone does not enumerate every attribute operation.",
      "status": "Attribute tradeoff and full-set effect callback checked",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/SubterraneanArmour.class",
          "name": "onEquip"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/SubterraneanArmour.class",
          "name": "onUnequip"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/SubterraneanArmour.class",
          "name": "onArmourTick"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/SubterraneanArmour.class",
          "name": "<clinit>"
        }
      ]
    },
    "archaic": {
      "summary": "Outgoing melee damage input is multiplied by 1 + perPieceValue(0.1875) \u00d7 (1 \u2212 wearer health fraction). Without FULL_SET, incoming damage input is separately multiplied by 1 + perPieceValue(0.16) \u00d7 missing-health fraction. The partial-set vulnerability is a tradeoff; full-set recognition removes that particular incoming penalty.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/ArchaicArmour.class",
          "name": "handleOutgoingAttack"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/ArchaicArmour.class",
          "name": "handleIncomingDamage"
        }
      ]
    },
    "baron": {
      "summary": "The inspected class declares its constructor and durability tooltip, with no local effect callback. Its registered durability multiplier is 150 in the separate material evidence. High durability is established; an additional combat ability is not inferred from the name.",
      "status": "Durability claim supported; no extra ability inferred",
      "method_references": []
    },
    "battleborn": {
      "summary": "Outgoing melee attacks by a ServerPlayer add perPieceValue(6) to an armor cooldown counter, capped at 300, then apply an ATTACK_SPEED modifier with amount min(0.65, counter/240) and ADD_MULTIPLIED_TOTAL. The tick callback refreshes on game-time multiples of 10 and removes at counter 1. Removing the last counted piece removes the modifier and retains 75% of a positive counter. Shared cooldown behavior and re-equip cleanup still need target-build testing.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/BattlebornArmour.class",
          "name": "createModifier"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/BattlebornArmour.class",
          "name": "handleOutgoingAttack"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/BattlebornArmour.class",
          "name": "onArmourTick"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/BattlebornArmour.class",
          "name": "onUnequip"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/BattlebornArmour.class",
          "name": "<clinit>"
        }
      ]
    },
    "biogenic": {
      "summary": "Full-set ticks in water write air supply \u221210. Water-at-eye level separately requests NIGHT_VISION with duration input 300; leaving that eye-fluid condition or breaking the set removes a night-vision instance only if its duration is at most 300. Positive melee damage from a living attacker requests slowness with duration input ceil(newDamage \u00d7 perPieceValue(3)) and level input 2 when the EnumSet size is at least two, otherwise 1. The negative air write deserves underwater testing; it is not the Hazmat maximum-air restoration path.",
      "status": "Negative air write requires underwater acceptance; no observed drowning outcome claimed",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/BiogenicArmour.class",
          "name": "onArmourTick"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/BiogenicArmour.class",
          "name": "afterTakingDamage"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/BiogenicArmour.class",
          "name": "onUnequip"
        }
      ]
    },
    "boreic": {
      "summary": "Positive, non-environmental damage while the wearer is in water starts the boreicArmour explosion definition, passing equippedPieces.size. FULL_SET also selects probable enemies within radius input 4 and requests slowness with duration input 40 and level input 2. Explosion damage, block effects and ownership need the separate explosion definition; they are not guessed from this callback.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/BoreicArmour.class",
          "name": "afterTakingDamage"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/BoreicArmour.class",
          "name": "lambda$afterTakingDamage$0"
        }
      ]
    },
    "candy": {
      "summary": "A hungry ServerPlayer may auto-consume qualifying inventory food when FULL_SET is present or the armor cooldown is inactive. Food must report positive nutrition and saturation. The found item executes finishUsingItem and its returned stack replaces that slot. Successful use sets cooldown input 12000 / counted pieces. FULL_SET bypasses the cooldown gate in this method, so inventory-consumption behavior deserves explicit testing.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/CandyArmour.class",
          "name": "onArmourTick"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/CandyArmour.class",
          "name": "findAndConsumeFood"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/CandyArmour.class",
          "name": "lambda$findAndConsumeFood$1"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/CandyArmour.class",
          "name": "lambda$findAndConsumeFood$0"
        }
      ]
    },
    "commander": {
      "summary": "On wearer tick counts divisible by 20, the callback selects other living entities whose resolved player/owner is the wearer, within radius input perPieceValue(2). It requests DAMAGE_BOOST with duration input 25 and level input 2 for FULL_SET, otherwise 1. It does not buff every nearby creature or every teammate indiscriminately.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/CommanderArmour.class",
          "name": "onArmourTick"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/CommanderArmour.class",
          "name": "lambda$onArmourTick$0"
        }
      ]
    },
    "crystallis": {
      "summary": "Positive damage from a living attacker must not bypass armor. Melee qualifies; ranged damage additionally requires FULL_SET. The callback requests thorns damage equal to newDamage \u00d7 perPieceValue(0.25), then calls hurtArmor with generic damage input newDamage \u00d7 2. Reflection and durability loss are separate engine operations, not guaranteed final health/durability amounts.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/CrystallisArmour.class",
          "name": "afterTakingDamage"
        }
      ]
    },
    "elecanyte": {
      "summary": "Positive non-environmental damage to a ServerPlayer requests Spirit equal to newDamage \u00d7 perPieceValue(2.5). Resource caps, resource modifiers and other callbacks still apply; this is not an uncapped Spirit balance guarantee.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/ElecanyteArmour.class",
          "name": "afterTakingDamage"
        }
      ]
    },
    "exoplate": {
      "summary": "For non-environmental incoming damage in a ServerLevel, the callback computes light = clamp(2 + the queried light level, 2, 15). Its armor-stage reduction fraction is (1 \u2212 light/15) \u00d7 perPieceValue(0.0625). It therefore depends on the checked light helper and is not a flat bonus in every location.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/ExoplateArmour.class",
          "name": "handleIncomingDamage"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/ExoplateArmour.class",
          "name": "lambda$handleIncomingDamage$0"
        }
      ]
    },
    "explosive": {
      "summary": "Incoming damage must match IS_EXPLOSION before adding an armor-stage reduction using perPieceValue(0.15). FULL_SET explosion-tag invulnerability is a separate callback. Other damage types are not covered by this local gate.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/ExplosiveArmour.class",
          "name": "checkDamageInvulnerability"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/ExplosiveArmour.class",
          "name": "handleIncomingDamage"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/ExplosiveArmour.class",
          "name": "lambda$handleIncomingDamage$0"
        }
      ]
    },
    "fungal": {
      "summary": "Positive melee damage must pass RandomUtil.percentChance(perPieceValue(0.2)). A living attacker then receives a poison request with duration input 60 and level input 2. Inside that successful outer branch, FULL_SET plus a separate one-in-four helper roll requests level-input-1 poison on probable enemies within radius 5. The area roll is nested, not an unconditional 25% event on every hit.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/FungalArmour.class",
          "name": "afterTakingDamage"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/FungalArmour.class",
          "name": "lambda$afterTakingDamage$0"
        }
      ]
    },
    "ghastly": {
      "summary": "The tick condition branches to isShiftKeyDown only when tickCount % 5 == 0 and the wearer is a Player; otherwise it evaluates isCrouching. A true result selects probable enemies within perPieceValue(4) and requests GLOWING with duration input 6. The released branch therefore does not impose a universal once-every-five-ticks scan limit. Review crouching scan frequency and intended behavior before making a performance claim.",
      "status": "Branch-frequency review target; no measured FPS or timing claim",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/GhastlyArmour.class",
          "name": "onArmourTick"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/GhastlyArmour.class",
          "name": "lambda$onArmourTick$0"
        }
      ]
    },
    "hydroplate": {
      "summary": "While in water, each armor tick requests healing of perPieceValue(0.0125). Separately, FULL_SET plus water plus non-environmental incoming damage installs an armor-stage fraction of 0.2. Healing caps and final damage depend on the engine and hooks.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/HydroplateArmour.class",
          "name": "onArmourTick"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/HydroplateArmour.class",
          "name": "handleIncomingDamage"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/HydroplateArmour.class",
          "name": "lambda$handleIncomingDamage$0"
        }
      ]
    },
    "lunar": {
      "summary": "Each armor tick requests JUMP with duration input 2 and level input equal to counted pieces, marked ambient with hidden particles. EffectBuilder level semantics and actual jump motion are not independently simulated in this documentation.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/LunarArmour.class",
          "name": "onArmourTick"
        }
      ]
    },
    "lyonic": {
      "summary": "On even world-game ticks, the callback searches within perPieceValue(2.5), then pulls eligible entities with strength input 0.05. Nonempty item entities must have no pickup delay. FULL_SET also admits experience orbs and eligible embedded arrows; that arrow branch clears inGround, sets base damage to zero, nudges upward and marks motion for synchronization. It is not a promise to vacuum every item or hostile projectile.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/LyonicArmour.class",
          "name": "onArmourTick"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/LyonicArmour.class",
          "name": "canPullItem"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/LyonicArmour.class",
          "name": "canPullOther"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/LyonicArmour.class",
          "name": "lambda$onArmourTick$0"
        }
      ]
    },
    "mercurial": {
      "summary": "After positive explosion-tagged damage, the callback requests DAMAGE_RESISTANCE with duration input perPieceValue(80), level input 2 for FULL_SET or 1 otherwise, marked ambient. It reacts after damage rather than proving immunity to the triggering explosion.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/MercurialArmour.class",
          "name": "afterTakingDamage"
        }
      ]
    },
    "necro": {
      "summary": "Before damage, FULL_SET can zero a non-environmental damage input that is at least current health when its cooldown gate permits. It calls hurtArmor with generic input 2000, raises health to 4 only if currently lower, and sets ServerPlayer cooldown input 72000. On a ServerPlayer death, a separate path requests storage of up to the counted-piece number of eligible inventory stacks, excluding Intervention and Vanishing Curse enchantments. Selection, storage return and save migration require their own acceptance tests; this is not guaranteed resurrection or preservation of a chosen item.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/NecroArmour.class",
          "name": "beforeTakingDamage"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/NecroArmour.class",
          "name": "onEntityDeath"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/NecroArmour.class",
          "name": "lambda$onEntityDeath$1"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/NecroArmour.class",
          "name": "lambda$onEntityDeath$0"
        }
      ]
    },
    "nethengeic": {
      "summary": "With FULL_SET and the wearer on fire, outgoing damage input is multiplied by 1.5. If the target is on fire, a separate multiplication by 1 + perPieceValue(0.1) follows. Both conditions can apply sequentially. This local method has no melee-only gate, and final damage still passes through other hooks.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/NethengeicArmour.class",
          "name": "handleOutgoingAttack"
        }
      ]
    },
    "omni": {
      "summary": "Explosion-tagged outgoing damage input is multiplied by 1 + perPieceValue(0.1). Positive melee damage received with FULL_SET separately invokes the OMNI_ARMOUR explosion definition. The actual blast settings are outside this callback and are not assumed harmless to blocks or allies.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/OmniArmour.class",
          "name": "handleOutgoingAttack"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/OmniArmour.class",
          "name": "afterTakingDamage"
        }
      ]
    },
    "poison": {
      "summary": "Poison-classified incoming damage receives an armor-stage fraction perPieceValue(0.25); FULL_SET separately grants poison-damage invulnerability. A full-set Poison effect-application attempt is rejected, and server-side code schedules a resistance request one tick later with duration input 60. Damage classification and effect-application events are distinct paths.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/PoisonArmour.class",
          "name": "onEffectApplication"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/PoisonArmour.class",
          "name": "checkDamageInvulnerability"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/PoisonArmour.class",
          "name": "handleIncomingDamage"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/PoisonArmour.class",
          "name": "lambda$handleIncomingDamage$1"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/PoisonArmour.class",
          "name": "lambda$onEffectApplication$0"
        }
      ]
    },
    "predatious": {
      "summary": "Ranged outgoing damage input is multiplied by 1 + perPieceValue(0.1). FULL_SET retaliation requires a melee source and a living direct attacker, then requests one point of thorns damage. Unlike several other retaliation callbacks, this inspected method contains no explicit positive-new-damage guard; test blocked-hit behavior rather than assuming identical gates.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/PredatiousArmour.class",
          "name": "handleOutgoingAttack"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/PredatiousArmour.class",
          "name": "afterTakingDamage"
        }
      ]
    },
    "primordial": {
      "summary": "Incoming damage is reduced only when the source has a living attacker with Wither, and either FULL_SET is present or the source is melee. The event amount is multiplied by 1 \u2212 perPieceValue(0.15). The status is checked on the attacker, not on the wearer.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/PrimordialArmour.class",
          "name": "handleIncomingDamage"
        }
      ]
    },
    "rockbone": {
      "summary": "Ranged incoming damage with FULL_SET first attempts RandomUtil.oneInNChance(10); success cancels the event. The achievement path additionally checks Projectile Protection level at least 4 on every worn armor slot. A non-cancelled ranged hit is multiplied by 1 \u2212 perPieceValue(0.1). The cancellation roll and advancement condition are separate.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/RockboneArmour.class",
          "name": "handleIncomingDamage"
        }
      ]
    },
    "rosidian": {
      "summary": "The released class declares only its constructor and tooltip; no local Rosid-spawn callback was found. The bounded direct-material-reference scan also found no external ROSIDIAN material reference beyond its own class/registration. That does not rule out item-ID, tag, reflection or external-mod paths. Treat the tooltip\u2019s summon promise as unresolved in this inspected implementation until an activation path is demonstrated.",
      "status": "Summoning activation unresolved; bounded absence evidence only",
      "method_references": []
    },
    "runic": {
      "summary": "Magic-classified incoming damage input is multiplied by 1 \u2212 perPieceValue(0.1). FULL_SET magic damage can request ABSORPTION with duration input 200 when the player cooldown is inactive, then sets cooldown input 6000. The inspected post-damage method has no explicit positive-new-damage guard. Poison classification and engine hook order remain relevant.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/RunicArmour.class",
          "name": "handleIncomingDamage"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/RunicArmour.class",
          "name": "afterTakingDamage"
        }
      ]
    },
    "sharpshot": {
      "summary": "The source must be gun-classified and the wearer must currently hold an AoAGun in the main hand, otherwise the offhand is checked. FULL_SET with the selected gun being an AoASniper uses multiplier 1.38; other cases use 1 + perPieceValue(0.07). The check uses the currently selected held-item path, not an independently verified original projectile weapon snapshot.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/SharpshotArmour.class",
          "name": "handleOutgoingAttack"
        }
      ]
    },
    "spaceking": {
      "summary": "The released class declares only its constructor and tooltip; no local Orbling-summon or absorption callback was found. The bounded direct-material-reference scan found no external SPACEKING material reference beyond its own class/registration. Item-ID, tag, reflection and external-mod routes are outside that absence check. Keep the summon/heal promises unresolved rather than marking them operational.",
      "status": "Summoning activation unresolved; bounded absence evidence only",
      "method_references": []
    },
    "utopian": {
      "summary": "ServerPlayer equip callbacks add 0.05 to every skill XP modifier per ordinary piece and 0.1 for the FULL_SET marker; unequip removes the corresponding amount. This is an adjustment to the skill modifier, not a guarantee that every XP event scales identically. Verify balanced equip/unequip, requirements and reconnect, especially with compatible helmets.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/UtopianArmour.class",
          "name": "onEquip"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/UtopianArmour.class",
          "name": "onUnequip"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/UtopianArmour.class",
          "name": "lambda$onUnequip$1"
        },
        {
          "class_path": "net/tslat/aoa3/content/item/armour/UtopianArmour.class",
          "name": "lambda$onEquip$0"
        }
      ]
    },
    "weaken": {
      "summary": "Positive melee damage from a living attacker must pass RandomUtil.percentChance(perPieceValue(0.175)). It then requests WEAKNESS with duration input 60, level input 2 for FULL_SET or 1 otherwise, marked ambient. These are helper/effect inputs rather than measured proc rates or a simulated final potion amplifier.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/WeakenArmour.class",
          "name": "afterTakingDamage"
        }
      ]
    },
    "zargonite": {
      "summary": "Magic-classified outgoing damage input is multiplied by 1 + perPieceValue(0.1). Its scope follows DamageUtil.isMagicDamage and the surrounding event dispatch; it is not a universal damage bonus.",
      "status": "Released local callback review; helper and runtime limits retained",
      "method_references": [
        {
          "class_path": "net/tslat/aoa3/content/item/armour/ZargoniteArmour.class",
          "name": "handleOutgoingAttack"
        }
      ]
    }
  },
  "shared_method_evidence": [
    {
      "class_path": "net/tslat/aoa3/content/item/armour/AdventArmour.class",
      "class_sha256": "8a20ef8bacef284478f4c6b618cc8c588e3d64580af623707a26d964f09d434f",
      "name": "setArmourCooldown",
      "descriptor": "(Lnet/minecraft/world/entity/player/Player;Lnet/tslat/aoa3/common/registration/item/AoAArmour$ArmourSet;I)V",
      "code_hex": "2bb6006b3a042c19041dba006f0000b60073b1",
      "instructions": [
        {
          "offset": 0,
          "opcode": 43
        },
        {
          "offset": 1,
          "opcode": 182,
          "member": [
            "net/minecraft/world/entity/player/Player",
            "getCooldowns",
            "()Lnet/minecraft/world/item/ItemCooldowns;"
          ]
        },
        {
          "offset": 4,
          "opcode": 58,
          "operands": [
            4
          ]
        },
        {
          "offset": 6,
          "opcode": 44
        },
        {
          "offset": 7,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 9,
          "opcode": 29
        },
        {
          "offset": 10,
          "opcode": 186,
          "operands": [
            0,
            111,
            0,
            0
          ]
        },
        {
          "offset": 15,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/common/registration/item/AoAArmour$ArmourSet",
            "forEach",
            "(Ljava/util/function/Consumer;)V"
          ]
        },
        {
          "offset": 18,
          "opcode": 177
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/content/item/armour/AdventArmour.class",
      "class_sha256": "8a20ef8bacef284478f4c6b618cc8c588e3d64580af623707a26d964f09d434f",
      "name": "isOnCooldown",
      "descriptor": "(Lnet/minecraft/world/entity/player/Player;)Z",
      "code_hex": "2a2bb600799e000704a7000403ac",
      "instructions": [
        {
          "offset": 0,
          "opcode": 42
        },
        {
          "offset": 1,
          "opcode": 43
        },
        {
          "offset": 2,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour",
            "getArmourCooldown",
            "(Lnet/minecraft/world/entity/player/Player;)I"
          ]
        },
        {
          "offset": 5,
          "opcode": 158,
          "operands": [
            0,
            7
          ]
        },
        {
          "offset": 8,
          "opcode": 4,
          "constant": 1
        },
        {
          "offset": 9,
          "opcode": 167,
          "operands": [
            0,
            4
          ]
        },
        {
          "offset": 12,
          "opcode": 3,
          "constant": 0
        },
        {
          "offset": 13,
          "opcode": 172
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/content/item/armour/AdventArmour.class",
      "class_sha256": "8a20ef8bacef284478f4c6b618cc8c588e3d64580af623707a26d964f09d434f",
      "name": "getArmourCooldown",
      "descriptor": "(Lnet/minecraft/world/entity/player/Player;)I",
      "code_hex": "2bb6006b4d2cb4007d2ab900830200c000884e2dc7000503ac2db4008a2cb4008e64ac",
      "instructions": [
        {
          "offset": 0,
          "opcode": 43
        },
        {
          "offset": 1,
          "opcode": 182,
          "member": [
            "net/minecraft/world/entity/player/Player",
            "getCooldowns",
            "()Lnet/minecraft/world/item/ItemCooldowns;"
          ]
        },
        {
          "offset": 4,
          "opcode": 77
        },
        {
          "offset": 5,
          "opcode": 44
        },
        {
          "offset": 6,
          "opcode": 180,
          "member": [
            "net/minecraft/world/item/ItemCooldowns",
            "cooldowns",
            "Ljava/util/Map;"
          ]
        },
        {
          "offset": 9,
          "opcode": 42
        },
        {
          "offset": 10,
          "opcode": 185,
          "member": [
            "java/util/Map",
            "get",
            "(Ljava/lang/Object;)Ljava/lang/Object;"
          ]
        },
        {
          "offset": 15,
          "opcode": 192,
          "operands": [
            0,
            136
          ]
        },
        {
          "offset": 18,
          "opcode": 78
        },
        {
          "offset": 19,
          "opcode": 45
        },
        {
          "offset": 20,
          "opcode": 199,
          "operands": [
            0,
            5
          ]
        },
        {
          "offset": 23,
          "opcode": 3,
          "constant": 0
        },
        {
          "offset": 24,
          "opcode": 172
        },
        {
          "offset": 25,
          "opcode": 45
        },
        {
          "offset": 26,
          "opcode": 180,
          "member": [
            "net/minecraft/world/item/ItemCooldowns$CooldownInstance",
            "endTime",
            "I"
          ]
        },
        {
          "offset": 29,
          "opcode": 44
        },
        {
          "offset": 30,
          "opcode": 180,
          "member": [
            "net/minecraft/world/item/ItemCooldowns",
            "tickCount",
            "I"
          ]
        },
        {
          "offset": 33,
          "opcode": 100
        },
        {
          "offset": 34,
          "opcode": 172
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/content/item/armour/AdventArmour.class",
      "class_sha256": "8a20ef8bacef284478f4c6b618cc8c588e3d64580af623707a26d964f09d434f",
      "name": "perPieceValue",
      "descriptor": "(Ljava/util/EnumSet;I)I",
      "code_hex": "1c2bb600912bb20097b6009d99000704a70004036468ac",
      "instructions": [
        {
          "offset": 0,
          "opcode": 28
        },
        {
          "offset": 1,
          "opcode": 43
        },
        {
          "offset": 2,
          "opcode": 182,
          "member": [
            "java/util/EnumSet",
            "size",
            "()I"
          ]
        },
        {
          "offset": 5,
          "opcode": 43
        },
        {
          "offset": 6,
          "opcode": 178,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour$Piece",
            "FULL_SET",
            "Lnet/tslat/aoa3/content/item/armour/AdventArmour$Piece;"
          ]
        },
        {
          "offset": 9,
          "opcode": 182,
          "member": [
            "java/util/EnumSet",
            "contains",
            "(Ljava/lang/Object;)Z"
          ]
        },
        {
          "offset": 12,
          "opcode": 153,
          "operands": [
            0,
            7
          ]
        },
        {
          "offset": 15,
          "opcode": 4,
          "constant": 1
        },
        {
          "offset": 16,
          "opcode": 167,
          "operands": [
            0,
            4
          ]
        },
        {
          "offset": 19,
          "opcode": 3,
          "constant": 0
        },
        {
          "offset": 20,
          "opcode": 100
        },
        {
          "offset": 21,
          "opcode": 104
        },
        {
          "offset": 22,
          "opcode": 172
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/content/item/armour/AdventArmour.class",
      "class_sha256": "8a20ef8bacef284478f4c6b618cc8c588e3d64580af623707a26d964f09d434f",
      "name": "perPieceValue",
      "descriptor": "(Ljava/util/EnumSet;F)F",
      "code_hex": "242bb600912bb20097b6009d99000704a700040364866aae",
      "instructions": [
        {
          "offset": 0,
          "opcode": 36
        },
        {
          "offset": 1,
          "opcode": 43
        },
        {
          "offset": 2,
          "opcode": 182,
          "member": [
            "java/util/EnumSet",
            "size",
            "()I"
          ]
        },
        {
          "offset": 5,
          "opcode": 43
        },
        {
          "offset": 6,
          "opcode": 178,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour$Piece",
            "FULL_SET",
            "Lnet/tslat/aoa3/content/item/armour/AdventArmour$Piece;"
          ]
        },
        {
          "offset": 9,
          "opcode": 182,
          "member": [
            "java/util/EnumSet",
            "contains",
            "(Ljava/lang/Object;)Z"
          ]
        },
        {
          "offset": 12,
          "opcode": 153,
          "operands": [
            0,
            7
          ]
        },
        {
          "offset": 15,
          "opcode": 4,
          "constant": 1
        },
        {
          "offset": 16,
          "opcode": 167,
          "operands": [
            0,
            4
          ]
        },
        {
          "offset": 19,
          "opcode": 3,
          "constant": 0
        },
        {
          "offset": 20,
          "opcode": 100
        },
        {
          "offset": 21,
          "opcode": 134
        },
        {
          "offset": 22,
          "opcode": 106
        },
        {
          "offset": 23,
          "opcode": 174
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/content/item/armour/AdventArmour.class",
      "class_sha256": "8a20ef8bacef284478f4c6b618cc8c588e3d64580af623707a26d964f09d434f",
      "name": "lambda$setArmourCooldown$2",
      "descriptor": "(Lnet/minecraft/world/item/ItemCooldowns;ILnet/minecraft/world/item/Item;)V",
      "code_hex": "2a2c1bb600a1b1",
      "instructions": [
        {
          "offset": 0,
          "opcode": 42
        },
        {
          "offset": 1,
          "opcode": 44
        },
        {
          "offset": 2,
          "opcode": 27
        },
        {
          "offset": 3,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemCooldowns",
            "addCooldown",
            "(Lnet/minecraft/world/item/Item;I)V"
          ]
        },
        {
          "offset": 6,
          "opcode": 177
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/util/DamageUtil.class",
      "class_sha256": "8607ee160f64ead3ee83666bceea11a891108f00ffd9c2ce51d3fe5b4b71a284",
      "name": "isMeleeDamage",
      "descriptor": "(Lnet/minecraft/world/damagesource/DamageSource;)Z",
      "code_hex": "2ab6012ac600202ab601322ab6012aa600152ab8013599000e2ab801399a000704a7000403ac",
      "instructions": [
        {
          "offset": 0,
          "opcode": 42
        },
        {
          "offset": 1,
          "opcode": 182,
          "member": [
            "net/minecraft/world/damagesource/DamageSource",
            "getEntity",
            "()Lnet/minecraft/world/entity/Entity;"
          ]
        },
        {
          "offset": 4,
          "opcode": 198,
          "operands": [
            0,
            32
          ]
        },
        {
          "offset": 7,
          "opcode": 42
        },
        {
          "offset": 8,
          "opcode": 182,
          "member": [
            "net/minecraft/world/damagesource/DamageSource",
            "getDirectEntity",
            "()Lnet/minecraft/world/entity/Entity;"
          ]
        },
        {
          "offset": 11,
          "opcode": 42
        },
        {
          "offset": 12,
          "opcode": 182,
          "member": [
            "net/minecraft/world/damagesource/DamageSource",
            "getEntity",
            "()Lnet/minecraft/world/entity/Entity;"
          ]
        },
        {
          "offset": 15,
          "opcode": 166,
          "operands": [
            0,
            21
          ]
        },
        {
          "offset": 18,
          "opcode": 42
        },
        {
          "offset": 19,
          "opcode": 184,
          "member": [
            "net/tslat/aoa3/util/DamageUtil",
            "isPhysicalDamage",
            "(Lnet/minecraft/world/damagesource/DamageSource;)Z"
          ]
        },
        {
          "offset": 22,
          "opcode": 153,
          "operands": [
            0,
            14
          ]
        },
        {
          "offset": 25,
          "opcode": 42
        },
        {
          "offset": 26,
          "opcode": 184,
          "member": [
            "net/tslat/aoa3/util/DamageUtil",
            "isEnvironmentalDamage",
            "(Lnet/minecraft/world/damagesource/DamageSource;)Z"
          ]
        },
        {
          "offset": 29,
          "opcode": 154,
          "operands": [
            0,
            7
          ]
        },
        {
          "offset": 32,
          "opcode": 4,
          "constant": 1
        },
        {
          "offset": 33,
          "opcode": 167,
          "operands": [
            0,
            4
          ]
        },
        {
          "offset": 36,
          "opcode": 3,
          "constant": 0
        },
        {
          "offset": 37,
          "opcode": 172
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/util/DamageUtil.class",
      "class_sha256": "8607ee160f64ead3ee83666bceea11a891108f00ffd9c2ce51d3fe5b4b71a284",
      "name": "isEnergyDamage",
      "descriptor": "(Lnet/minecraft/world/damagesource/DamageSource;)Z",
      "code_hex": "2ab2013cb60142ac",
      "instructions": [
        {
          "offset": 0,
          "opcode": 42
        },
        {
          "offset": 1,
          "opcode": 178,
          "member": [
            "net/tslat/aoa3/common/registration/AoATags$DamageTypes",
            "ENERGY",
            "Lnet/minecraft/tags/TagKey;"
          ]
        },
        {
          "offset": 4,
          "opcode": 182,
          "member": [
            "net/minecraft/world/damagesource/DamageSource",
            "is",
            "(Lnet/minecraft/tags/TagKey;)Z"
          ]
        },
        {
          "offset": 7,
          "opcode": 172
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/util/DamageUtil.class",
      "class_sha256": "8607ee160f64ead3ee83666bceea11a891108f00ffd9c2ce51d3fe5b4b71a284",
      "name": "isMagicDamage",
      "descriptor": "(Lnet/minecraft/world/damagesource/DamageSource;)Z",
      "code_hex": "2ab20146b6014299000e2ab8014b9a000704a7000403ac",
      "instructions": [
        {
          "offset": 0,
          "opcode": 42
        },
        {
          "offset": 1,
          "opcode": 178,
          "member": [
            "net/neoforged/neoforge/common/Tags$DamageTypes",
            "IS_MAGIC",
            "Lnet/minecraft/tags/TagKey;"
          ]
        },
        {
          "offset": 4,
          "opcode": 182,
          "member": [
            "net/minecraft/world/damagesource/DamageSource",
            "is",
            "(Lnet/minecraft/tags/TagKey;)Z"
          ]
        },
        {
          "offset": 7,
          "opcode": 153,
          "operands": [
            0,
            14
          ]
        },
        {
          "offset": 10,
          "opcode": 42
        },
        {
          "offset": 11,
          "opcode": 184,
          "member": [
            "net/tslat/aoa3/util/DamageUtil",
            "isPoisonDamage",
            "(Lnet/minecraft/world/damagesource/DamageSource;)Z"
          ]
        },
        {
          "offset": 14,
          "opcode": 154,
          "operands": [
            0,
            7
          ]
        },
        {
          "offset": 17,
          "opcode": 4,
          "constant": 1
        },
        {
          "offset": 18,
          "opcode": 167,
          "operands": [
            0,
            4
          ]
        },
        {
          "offset": 21,
          "opcode": 3,
          "constant": 0
        },
        {
          "offset": 22,
          "opcode": 172
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/util/DamageUtil.class",
      "class_sha256": "8607ee160f64ead3ee83666bceea11a891108f00ffd9c2ce51d3fe5b4b71a284",
      "name": "isRangedDamage",
      "descriptor": "(Lnet/minecraft/world/damagesource/DamageSource;)Z",
      "code_hex": "2ab2014eb6014299001f2ab801539a00182ab801569a00112ab20159b601429a000704a7000403ac",
      "instructions": [
        {
          "offset": 0,
          "opcode": 42
        },
        {
          "offset": 1,
          "opcode": 178,
          "member": [
            "net/minecraft/tags/DamageTypeTags",
            "IS_PROJECTILE",
            "Lnet/minecraft/tags/TagKey;"
          ]
        },
        {
          "offset": 4,
          "opcode": 182,
          "member": [
            "net/minecraft/world/damagesource/DamageSource",
            "is",
            "(Lnet/minecraft/tags/TagKey;)Z"
          ]
        },
        {
          "offset": 7,
          "opcode": 153,
          "operands": [
            0,
            31
          ]
        },
        {
          "offset": 10,
          "opcode": 42
        },
        {
          "offset": 11,
          "opcode": 184,
          "member": [
            "net/tslat/aoa3/util/DamageUtil",
            "isMagicDamage",
            "(Lnet/minecraft/world/damagesource/DamageSource;)Z"
          ]
        },
        {
          "offset": 14,
          "opcode": 154,
          "operands": [
            0,
            24
          ]
        },
        {
          "offset": 17,
          "opcode": 42
        },
        {
          "offset": 18,
          "opcode": 184,
          "member": [
            "net/tslat/aoa3/util/DamageUtil",
            "isEnergyDamage",
            "(Lnet/minecraft/world/damagesource/DamageSource;)Z"
          ]
        },
        {
          "offset": 21,
          "opcode": 154,
          "operands": [
            0,
            17
          ]
        },
        {
          "offset": 24,
          "opcode": 42
        },
        {
          "offset": 25,
          "opcode": 178,
          "member": [
            "net/tslat/aoa3/common/registration/AoATags$DamageTypes",
            "GUN",
            "Lnet/minecraft/tags/TagKey;"
          ]
        },
        {
          "offset": 28,
          "opcode": 182,
          "member": [
            "net/minecraft/world/damagesource/DamageSource",
            "is",
            "(Lnet/minecraft/tags/TagKey;)Z"
          ]
        },
        {
          "offset": 31,
          "opcode": 154,
          "operands": [
            0,
            7
          ]
        },
        {
          "offset": 34,
          "opcode": 4,
          "constant": 1
        },
        {
          "offset": 35,
          "opcode": 167,
          "operands": [
            0,
            4
          ]
        },
        {
          "offset": 38,
          "opcode": 3,
          "constant": 0
        },
        {
          "offset": 39,
          "opcode": 172
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/util/DamageUtil.class",
      "class_sha256": "8607ee160f64ead3ee83666bceea11a891108f00ffd9c2ce51d3fe5b4b71a284",
      "name": "isGunDamage",
      "descriptor": "(Lnet/minecraft/world/damagesource/DamageSource;)Z",
      "code_hex": "2ab20159b60142ac",
      "instructions": [
        {
          "offset": 0,
          "opcode": 42
        },
        {
          "offset": 1,
          "opcode": 178,
          "member": [
            "net/tslat/aoa3/common/registration/AoATags$DamageTypes",
            "GUN",
            "Lnet/minecraft/tags/TagKey;"
          ]
        },
        {
          "offset": 4,
          "opcode": 182,
          "member": [
            "net/minecraft/world/damagesource/DamageSource",
            "is",
            "(Lnet/minecraft/tags/TagKey;)Z"
          ]
        },
        {
          "offset": 7,
          "opcode": 172
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/util/DamageUtil.class",
      "class_sha256": "8607ee160f64ead3ee83666bceea11a891108f00ffd9c2ce51d3fe5b4b71a284",
      "name": "isPoisonDamage",
      "descriptor": "(Lnet/minecraft/world/damagesource/DamageSource;)Z",
      "code_hex": "2ab2015bb60142ac",
      "instructions": [
        {
          "offset": 0,
          "opcode": 42
        },
        {
          "offset": 1,
          "opcode": 178,
          "member": [
            "net/neoforged/neoforge/common/Tags$DamageTypes",
            "IS_POISON",
            "Lnet/minecraft/tags/TagKey;"
          ]
        },
        {
          "offset": 4,
          "opcode": 182,
          "member": [
            "net/minecraft/world/damagesource/DamageSource",
            "is",
            "(Lnet/minecraft/tags/TagKey;)Z"
          ]
        },
        {
          "offset": 7,
          "opcode": 172
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/util/DamageUtil.class",
      "class_sha256": "8607ee160f64ead3ee83666bceea11a891108f00ffd9c2ce51d3fe5b4b71a284",
      "name": "isPhysicalDamage",
      "descriptor": "(Lnet/minecraft/world/damagesource/DamageSource;)Z",
      "code_hex": "2ab2015eb60142ac",
      "instructions": [
        {
          "offset": 0,
          "opcode": 42
        },
        {
          "offset": 1,
          "opcode": 178,
          "member": [
            "net/neoforged/neoforge/common/Tags$DamageTypes",
            "IS_PHYSICAL",
            "Lnet/minecraft/tags/TagKey;"
          ]
        },
        {
          "offset": 4,
          "opcode": 182,
          "member": [
            "net/minecraft/world/damagesource/DamageSource",
            "is",
            "(Lnet/minecraft/tags/TagKey;)Z"
          ]
        },
        {
          "offset": 7,
          "opcode": 172
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/util/DamageUtil.class",
      "class_sha256": "8607ee160f64ead3ee83666bceea11a891108f00ffd9c2ce51d3fe5b4b71a284",
      "name": "isEnvironmentalDamage",
      "descriptor": "(Lnet/minecraft/world/damagesource/DamageSource;)Z",
      "code_hex": "2ab6012ac700112ab20164b6014299000704a7000403ac",
      "instructions": [
        {
          "offset": 0,
          "opcode": 42
        },
        {
          "offset": 1,
          "opcode": 182,
          "member": [
            "net/minecraft/world/damagesource/DamageSource",
            "getEntity",
            "()Lnet/minecraft/world/entity/Entity;"
          ]
        },
        {
          "offset": 4,
          "opcode": 199,
          "operands": [
            0,
            17
          ]
        },
        {
          "offset": 7,
          "opcode": 42
        },
        {
          "offset": 8,
          "opcode": 178,
          "member": [
            "net/neoforged/neoforge/common/Tags$DamageTypes",
            "IS_ENVIRONMENT",
            "Lnet/minecraft/tags/TagKey;"
          ]
        },
        {
          "offset": 11,
          "opcode": 182,
          "member": [
            "net/minecraft/world/damagesource/DamageSource",
            "is",
            "(Lnet/minecraft/tags/TagKey;)Z"
          ]
        },
        {
          "offset": 14,
          "opcode": 153,
          "operands": [
            0,
            7
          ]
        },
        {
          "offset": 17,
          "opcode": 4,
          "constant": 1
        },
        {
          "offset": 18,
          "opcode": 167,
          "operands": [
            0,
            4
          ]
        },
        {
          "offset": 21,
          "opcode": 3,
          "constant": 0
        },
        {
          "offset": 22,
          "opcode": 172
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/util/DamageUtil.class",
      "class_sha256": "8607ee160f64ead3ee83666bceea11a891108f00ffd9c2ce51d3fe5b4b71a284",
      "name": "isPlayerEnvironmentallyProtected",
      "descriptor": "(Lnet/minecraft/world/entity/player/Player;)Z",
      "code_hex": "2ab20167b6016db601714c2bc1017799000b2bc001774da700112ab20167b6016db20179b6017eac2c2ab6017fac",
      "instructions": [
        {
          "offset": 0,
          "opcode": 42
        },
        {
          "offset": 1,
          "opcode": 178,
          "member": [
            "net/minecraft/world/entity/EquipmentSlot",
            "HEAD",
            "Lnet/minecraft/world/entity/EquipmentSlot;"
          ]
        },
        {
          "offset": 4,
          "opcode": 182,
          "member": [
            "net/minecraft/world/entity/player/Player",
            "getItemBySlot",
            "(Lnet/minecraft/world/entity/EquipmentSlot;)Lnet/minecraft/world/item/ItemStack;"
          ]
        },
        {
          "offset": 7,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "getItem",
            "()Lnet/minecraft/world/item/Item;"
          ]
        },
        {
          "offset": 10,
          "opcode": 76
        },
        {
          "offset": 11,
          "opcode": 43
        },
        {
          "offset": 12,
          "opcode": 193,
          "operands": [
            1,
            119
          ]
        },
        {
          "offset": 15,
          "opcode": 153,
          "operands": [
            0,
            11
          ]
        },
        {
          "offset": 18,
          "opcode": 43
        },
        {
          "offset": 19,
          "opcode": 192,
          "operands": [
            1,
            119
          ]
        },
        {
          "offset": 22,
          "opcode": 77
        },
        {
          "offset": 23,
          "opcode": 167,
          "operands": [
            0,
            17
          ]
        },
        {
          "offset": 26,
          "opcode": 42
        },
        {
          "offset": 27,
          "opcode": 178,
          "member": [
            "net/minecraft/world/entity/EquipmentSlot",
            "HEAD",
            "Lnet/minecraft/world/entity/EquipmentSlot;"
          ]
        },
        {
          "offset": 30,
          "opcode": 182,
          "member": [
            "net/minecraft/world/entity/player/Player",
            "getItemBySlot",
            "(Lnet/minecraft/world/entity/EquipmentSlot;)Lnet/minecraft/world/item/ItemStack;"
          ]
        },
        {
          "offset": 33,
          "opcode": 178,
          "member": [
            "net/tslat/aoa3/common/registration/AoATags$Items",
            "AIRTIGHT",
            "Lnet/minecraft/tags/TagKey;"
          ]
        },
        {
          "offset": 36,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "is",
            "(Lnet/minecraft/tags/TagKey;)Z"
          ]
        },
        {
          "offset": 39,
          "opcode": 172
        },
        {
          "offset": 40,
          "opcode": 44
        },
        {
          "offset": 41,
          "opcode": 42
        },
        {
          "offset": 42,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour",
            "isHelmetAirTight",
            "(Lnet/minecraft/world/entity/player/Player;)Z"
          ]
        },
        {
          "offset": 45,
          "opcode": 172
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/util/DamageUtil.class",
      "class_sha256": "8607ee160f64ead3ee83666bceea11a891108f00ffd9c2ce51d3fe5b4b71a284",
      "name": "percentDamageReduction",
      "descriptor": "(Lnet/neoforged/neoforge/common/damagesource/DamageContainer;FF)F",
      "code_hex": "232ab601822366246a62ae",
      "instructions": [
        {
          "offset": 0,
          "opcode": 35
        },
        {
          "offset": 1,
          "opcode": 42
        },
        {
          "offset": 2,
          "opcode": 182,
          "member": [
            "net/neoforged/neoforge/common/damagesource/DamageContainer",
            "getNewDamage",
            "()F"
          ]
        },
        {
          "offset": 5,
          "opcode": 35
        },
        {
          "offset": 6,
          "opcode": 102
        },
        {
          "offset": 7,
          "opcode": 36
        },
        {
          "offset": 8,
          "opcode": 106
        },
        {
          "offset": 9,
          "opcode": 98
        },
        {
          "offset": 10,
          "opcode": 174
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment.class",
      "class_sha256": "f761fa85316b36bad913f81acb76faec5bd4a80a8af40e71449866acf7c42f98",
      "name": "handleEntityInvulnerability",
      "descriptor": "(Lnet/neoforged/neoforge/event/entity/EntityInvulnerabilityCheckEvent;)V",
      "code_hex": "2ab40012b9007c0100b9008201004d2cb9008801009900202cb9008d0100c000914e2db400932ab600972db6009a2bb6009ea7ffddb1",
      "instructions": [
        {
          "offset": 0,
          "opcode": 42
        },
        {
          "offset": 1,
          "opcode": 180,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "equippedByMaterial",
            "Ljava/util/Map;"
          ]
        },
        {
          "offset": 4,
          "opcode": 185,
          "member": [
            "java/util/Map",
            "values",
            "()Ljava/util/Collection;"
          ]
        },
        {
          "offset": 9,
          "opcode": 185,
          "member": [
            "java/util/Collection",
            "iterator",
            "()Ljava/util/Iterator;"
          ]
        },
        {
          "offset": 14,
          "opcode": 77
        },
        {
          "offset": 15,
          "opcode": 44
        },
        {
          "offset": 16,
          "opcode": 185,
          "member": [
            "java/util/Iterator",
            "hasNext",
            "()Z"
          ]
        },
        {
          "offset": 21,
          "opcode": 153,
          "operands": [
            0,
            32
          ]
        },
        {
          "offset": 24,
          "opcode": 44
        },
        {
          "offset": 25,
          "opcode": 185,
          "member": [
            "java/util/Iterator",
            "next",
            "()Ljava/lang/Object;"
          ]
        },
        {
          "offset": 30,
          "opcode": 192,
          "operands": [
            0,
            145
          ]
        },
        {
          "offset": 33,
          "opcode": 78
        },
        {
          "offset": 34,
          "opcode": 45
        },
        {
          "offset": 35,
          "opcode": 180,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment$AdventArmourSetContainer",
            "armour",
            "Lnet/tslat/aoa3/content/item/armour/AdventArmour;"
          ]
        },
        {
          "offset": 38,
          "opcode": 42
        },
        {
          "offset": 39,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "getPlayer",
            "()Lnet/minecraft/world/entity/player/Player;"
          ]
        },
        {
          "offset": 42,
          "opcode": 45
        },
        {
          "offset": 43,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment$AdventArmourSetContainer",
            "equippedPieces",
            "()Ljava/util/EnumSet;"
          ]
        },
        {
          "offset": 46,
          "opcode": 43
        },
        {
          "offset": 47,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour",
            "checkDamageInvulnerability",
            "(Lnet/minecraft/world/entity/LivingEntity;Ljava/util/EnumSet;Lnet/neoforged/neoforge/event/entity/EntityInvulnerabilityCheckEvent;)V"
          ]
        },
        {
          "offset": 50,
          "opcode": 167,
          "operands": [
            255,
            221
          ]
        },
        {
          "offset": 53,
          "opcode": 177
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment.class",
      "class_sha256": "f761fa85316b36bad913f81acb76faec5bd4a80a8af40e71449866acf7c42f98",
      "name": "handleIncomingDamage",
      "descriptor": "(Lnet/neoforged/neoforge/event/entity/living/LivingIncomingDamageEvent;)V",
      "code_hex": "2ab40012b9007c0100b9008201004d2cb9008801009900202cb9008d0100c000914e2db400932ab600972db6009a2bb600a2a7ffddb1",
      "instructions": [
        {
          "offset": 0,
          "opcode": 42
        },
        {
          "offset": 1,
          "opcode": 180,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "equippedByMaterial",
            "Ljava/util/Map;"
          ]
        },
        {
          "offset": 4,
          "opcode": 185,
          "member": [
            "java/util/Map",
            "values",
            "()Ljava/util/Collection;"
          ]
        },
        {
          "offset": 9,
          "opcode": 185,
          "member": [
            "java/util/Collection",
            "iterator",
            "()Ljava/util/Iterator;"
          ]
        },
        {
          "offset": 14,
          "opcode": 77
        },
        {
          "offset": 15,
          "opcode": 44
        },
        {
          "offset": 16,
          "opcode": 185,
          "member": [
            "java/util/Iterator",
            "hasNext",
            "()Z"
          ]
        },
        {
          "offset": 21,
          "opcode": 153,
          "operands": [
            0,
            32
          ]
        },
        {
          "offset": 24,
          "opcode": 44
        },
        {
          "offset": 25,
          "opcode": 185,
          "member": [
            "java/util/Iterator",
            "next",
            "()Ljava/lang/Object;"
          ]
        },
        {
          "offset": 30,
          "opcode": 192,
          "operands": [
            0,
            145
          ]
        },
        {
          "offset": 33,
          "opcode": 78
        },
        {
          "offset": 34,
          "opcode": 45
        },
        {
          "offset": 35,
          "opcode": 180,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment$AdventArmourSetContainer",
            "armour",
            "Lnet/tslat/aoa3/content/item/armour/AdventArmour;"
          ]
        },
        {
          "offset": 38,
          "opcode": 42
        },
        {
          "offset": 39,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "getPlayer",
            "()Lnet/minecraft/world/entity/player/Player;"
          ]
        },
        {
          "offset": 42,
          "opcode": 45
        },
        {
          "offset": 43,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment$AdventArmourSetContainer",
            "equippedPieces",
            "()Ljava/util/EnumSet;"
          ]
        },
        {
          "offset": 46,
          "opcode": 43
        },
        {
          "offset": 47,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour",
            "handleIncomingDamage",
            "(Lnet/minecraft/world/entity/LivingEntity;Ljava/util/EnumSet;Lnet/neoforged/neoforge/event/entity/living/LivingIncomingDamageEvent;)V"
          ]
        },
        {
          "offset": 50,
          "opcode": 167,
          "operands": [
            255,
            221
          ]
        },
        {
          "offset": 53,
          "opcode": 177
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment.class",
      "class_sha256": "f761fa85316b36bad913f81acb76faec5bd4a80a8af40e71449866acf7c42f98",
      "name": "handleArmourChange",
      "descriptor": "(Lnet/neoforged/neoforge/event/entity/living/LivingEquipmentChangeEvent;)V",
      "code_hex": "2bb600b7b600bb9900082a04b50060b1",
      "instructions": [
        {
          "offset": 0,
          "opcode": 43
        },
        {
          "offset": 1,
          "opcode": 182,
          "member": [
            "net/neoforged/neoforge/event/entity/living/LivingEquipmentChangeEvent",
            "getSlot",
            "()Lnet/minecraft/world/entity/EquipmentSlot;"
          ]
        },
        {
          "offset": 4,
          "opcode": 182,
          "member": [
            "net/minecraft/world/entity/EquipmentSlot",
            "isArmor",
            "()Z"
          ]
        },
        {
          "offset": 7,
          "opcode": 153,
          "operands": [
            0,
            8
          ]
        },
        {
          "offset": 10,
          "opcode": 42
        },
        {
          "offset": 11,
          "opcode": 4,
          "constant": 1
        },
        {
          "offset": 12,
          "opcode": 181,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "checkNewArmour",
            "Z"
          ]
        },
        {
          "offset": 15,
          "opcode": 177
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment.class",
      "class_sha256": "f761fa85316b36bad913f81acb76faec5bd4a80a8af40e71449866acf7c42f98",
      "name": "handlePlayerTick",
      "descriptor": "(Lnet/neoforged/neoforge/event/tick/PlayerTickEvent$Pre;)V",
      "code_hex": "2ab60097b600c499000d2ab60097b600c9990004b12ab400609900072ab600cc2ab600ce9a0004b12ab40012b9007c0100b9008201004d2cb90088010099001f2cb9008d0100c000914e2db600d12ab600972db6009ab600d4a7ffdeb1",
      "instructions": [
        {
          "offset": 0,
          "opcode": 42
        },
        {
          "offset": 1,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "getPlayer",
            "()Lnet/minecraft/world/entity/player/Player;"
          ]
        },
        {
          "offset": 4,
          "opcode": 182,
          "member": [
            "net/minecraft/world/entity/player/Player",
            "isAlive",
            "()Z"
          ]
        },
        {
          "offset": 7,
          "opcode": 153,
          "operands": [
            0,
            13
          ]
        },
        {
          "offset": 10,
          "opcode": 42
        },
        {
          "offset": 11,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "getPlayer",
            "()Lnet/minecraft/world/entity/player/Player;"
          ]
        },
        {
          "offset": 14,
          "opcode": 182,
          "member": [
            "net/minecraft/world/entity/player/Player",
            "isSpectator",
            "()Z"
          ]
        },
        {
          "offset": 17,
          "opcode": 153,
          "operands": [
            0,
            4
          ]
        },
        {
          "offset": 20,
          "opcode": 177
        },
        {
          "offset": 21,
          "opcode": 42
        },
        {
          "offset": 22,
          "opcode": 180,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "checkNewArmour",
            "Z"
          ]
        },
        {
          "offset": 25,
          "opcode": 153,
          "operands": [
            0,
            7
          ]
        },
        {
          "offset": 28,
          "opcode": 42
        },
        {
          "offset": 29,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "checkNewArmour",
            "()V"
          ]
        },
        {
          "offset": 32,
          "opcode": 42
        },
        {
          "offset": 33,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "checkEquippedItems",
            "()Z"
          ]
        },
        {
          "offset": 36,
          "opcode": 154,
          "operands": [
            0,
            4
          ]
        },
        {
          "offset": 39,
          "opcode": 177
        },
        {
          "offset": 40,
          "opcode": 42
        },
        {
          "offset": 41,
          "opcode": 180,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "equippedByMaterial",
            "Ljava/util/Map;"
          ]
        },
        {
          "offset": 44,
          "opcode": 185,
          "member": [
            "java/util/Map",
            "values",
            "()Ljava/util/Collection;"
          ]
        },
        {
          "offset": 49,
          "opcode": 185,
          "member": [
            "java/util/Collection",
            "iterator",
            "()Ljava/util/Iterator;"
          ]
        },
        {
          "offset": 54,
          "opcode": 77
        },
        {
          "offset": 55,
          "opcode": 44
        },
        {
          "offset": 56,
          "opcode": 185,
          "member": [
            "java/util/Iterator",
            "hasNext",
            "()Z"
          ]
        },
        {
          "offset": 61,
          "opcode": 153,
          "operands": [
            0,
            31
          ]
        },
        {
          "offset": 64,
          "opcode": 44
        },
        {
          "offset": 65,
          "opcode": 185,
          "member": [
            "java/util/Iterator",
            "next",
            "()Ljava/lang/Object;"
          ]
        },
        {
          "offset": 70,
          "opcode": 192,
          "operands": [
            0,
            145
          ]
        },
        {
          "offset": 73,
          "opcode": 78
        },
        {
          "offset": 74,
          "opcode": 45
        },
        {
          "offset": 75,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment$AdventArmourSetContainer",
            "armour",
            "()Lnet/tslat/aoa3/content/item/armour/AdventArmour;"
          ]
        },
        {
          "offset": 78,
          "opcode": 42
        },
        {
          "offset": 79,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "getPlayer",
            "()Lnet/minecraft/world/entity/player/Player;"
          ]
        },
        {
          "offset": 82,
          "opcode": 45
        },
        {
          "offset": 83,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment$AdventArmourSetContainer",
            "equippedPieces",
            "()Ljava/util/EnumSet;"
          ]
        },
        {
          "offset": 86,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour",
            "onArmourTick",
            "(Lnet/minecraft/world/entity/LivingEntity;Ljava/util/EnumSet;)V"
          ]
        },
        {
          "offset": 89,
          "opcode": 167,
          "operands": [
            255,
            222
          ]
        },
        {
          "offset": 92,
          "opcode": 177
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment.class",
      "class_sha256": "f761fa85316b36bad913f81acb76faec5bd4a80a8af40e71449866acf7c42f98",
      "name": "checkNewArmour",
      "descriptor": "()V",
      "code_hex": "033cb800d84d2cbe3e03360415041da2009d2c1504323a051905b600db3a061906c70006a700822ab4001d1905b60072c000763a072ab600971906b600deb600e23a0819071908a60006a7005c043c1907c6000b2a19071905b600e81908c1007699000f1908c000763a0a190aa70004013a092ab4001d19051909b600ec571909c600252ab60097b600f0b400f49a00102ab40001190903b800f999000b2a19091905b600ff840401a7ff631b9900932ab4001db2006eb60102c000764d014eba010500002ab4001db6010903bd0076b9010a0200c0010eb801109900382ab4001db60109b9008201003a041904b9008801009900201904b9008d0100c000763a051905b601169a000919054ea70006a7ffdc2dc6000f2ab4001db2006e2db600ec572d2ca5001b2cc6000b2a2cb2006eb600e82dc6000b2a2db2006eb600ffb1",
      "instructions": [
        {
          "offset": 0,
          "opcode": 3,
          "constant": 0
        },
        {
          "offset": 1,
          "opcode": 60
        },
        {
          "offset": 2,
          "opcode": 184,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour$Piece",
            "values",
            "()[Lnet/tslat/aoa3/content/item/armour/AdventArmour$Piece;"
          ]
        },
        {
          "offset": 5,
          "opcode": 77
        },
        {
          "offset": 6,
          "opcode": 44
        },
        {
          "offset": 7,
          "opcode": 190
        },
        {
          "offset": 8,
          "opcode": 62
        },
        {
          "offset": 9,
          "opcode": 3,
          "constant": 0
        },
        {
          "offset": 10,
          "opcode": 54,
          "operands": [
            4
          ]
        },
        {
          "offset": 12,
          "opcode": 21,
          "operands": [
            4
          ]
        },
        {
          "offset": 14,
          "opcode": 29
        },
        {
          "offset": 15,
          "opcode": 162,
          "operands": [
            0,
            157
          ]
        },
        {
          "offset": 18,
          "opcode": 44
        },
        {
          "offset": 19,
          "opcode": 21,
          "operands": [
            4
          ]
        },
        {
          "offset": 21,
          "opcode": 50
        },
        {
          "offset": 22,
          "opcode": 58,
          "operands": [
            5
          ]
        },
        {
          "offset": 24,
          "opcode": 25,
          "operands": [
            5
          ]
        },
        {
          "offset": 26,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour$Piece",
            "toVanillaSlot",
            "()Lnet/minecraft/world/entity/EquipmentSlot;"
          ]
        },
        {
          "offset": 29,
          "opcode": 58,
          "operands": [
            6
          ]
        },
        {
          "offset": 31,
          "opcode": 25,
          "operands": [
            6
          ]
        },
        {
          "offset": 33,
          "opcode": 199,
          "operands": [
            0,
            6
          ]
        },
        {
          "offset": 36,
          "opcode": 167,
          "operands": [
            0,
            130
          ]
        },
        {
          "offset": 39,
          "opcode": 42
        },
        {
          "offset": 40,
          "opcode": 180,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "equippedByPiece",
            "Ljava/util/EnumMap;"
          ]
        },
        {
          "offset": 43,
          "opcode": 25,
          "operands": [
            5
          ]
        },
        {
          "offset": 45,
          "opcode": 182,
          "member": [
            "java/util/EnumMap",
            "get",
            "(Ljava/lang/Object;)Ljava/lang/Object;"
          ]
        },
        {
          "offset": 48,
          "opcode": 192,
          "operands": [
            0,
            118
          ]
        },
        {
          "offset": 51,
          "opcode": 58,
          "operands": [
            7
          ]
        },
        {
          "offset": 53,
          "opcode": 42
        },
        {
          "offset": 54,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "getPlayer",
            "()Lnet/minecraft/world/entity/player/Player;"
          ]
        },
        {
          "offset": 57,
          "opcode": 25,
          "operands": [
            6
          ]
        },
        {
          "offset": 59,
          "opcode": 182,
          "member": [
            "net/minecraft/world/entity/player/Player",
            "getItemBySlot",
            "(Lnet/minecraft/world/entity/EquipmentSlot;)Lnet/minecraft/world/item/ItemStack;"
          ]
        },
        {
          "offset": 62,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "getItem",
            "()Lnet/minecraft/world/item/Item;"
          ]
        },
        {
          "offset": 65,
          "opcode": 58,
          "operands": [
            8
          ]
        },
        {
          "offset": 67,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 69,
          "opcode": 25,
          "operands": [
            8
          ]
        },
        {
          "offset": 71,
          "opcode": 166,
          "operands": [
            0,
            6
          ]
        },
        {
          "offset": 74,
          "opcode": 167,
          "operands": [
            0,
            92
          ]
        },
        {
          "offset": 77,
          "opcode": 4,
          "constant": 1
        },
        {
          "offset": 78,
          "opcode": 60
        },
        {
          "offset": 79,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 81,
          "opcode": 198,
          "operands": [
            0,
            11
          ]
        },
        {
          "offset": 84,
          "opcode": 42
        },
        {
          "offset": 85,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 87,
          "opcode": 25,
          "operands": [
            5
          ]
        },
        {
          "offset": 89,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "unequipAdventArmour",
            "(Lnet/tslat/aoa3/content/item/armour/AdventArmour;Lnet/tslat/aoa3/content/item/armour/AdventArmour$Piece;)V"
          ]
        },
        {
          "offset": 92,
          "opcode": 25,
          "operands": [
            8
          ]
        },
        {
          "offset": 94,
          "opcode": 193,
          "operands": [
            0,
            118
          ]
        },
        {
          "offset": 97,
          "opcode": 153,
          "operands": [
            0,
            15
          ]
        },
        {
          "offset": 100,
          "opcode": 25,
          "operands": [
            8
          ]
        },
        {
          "offset": 102,
          "opcode": 192,
          "operands": [
            0,
            118
          ]
        },
        {
          "offset": 105,
          "opcode": 58,
          "operands": [
            10
          ]
        },
        {
          "offset": 107,
          "opcode": 25,
          "operands": [
            10
          ]
        },
        {
          "offset": 109,
          "opcode": 167,
          "operands": [
            0,
            4
          ]
        },
        {
          "offset": 112,
          "opcode": 1
        },
        {
          "offset": 113,
          "opcode": 58,
          "operands": [
            9
          ]
        },
        {
          "offset": 115,
          "opcode": 42
        },
        {
          "offset": 116,
          "opcode": 180,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "equippedByPiece",
            "Ljava/util/EnumMap;"
          ]
        },
        {
          "offset": 119,
          "opcode": 25,
          "operands": [
            5
          ]
        },
        {
          "offset": 121,
          "opcode": 25,
          "operands": [
            9
          ]
        },
        {
          "offset": 123,
          "opcode": 182,
          "member": [
            "java/util/EnumMap",
            "put",
            "(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;"
          ]
        },
        {
          "offset": 126,
          "opcode": 87
        },
        {
          "offset": 127,
          "opcode": 25,
          "operands": [
            9
          ]
        },
        {
          "offset": 129,
          "opcode": 198,
          "operands": [
            0,
            37
          ]
        },
        {
          "offset": 132,
          "opcode": 42
        },
        {
          "offset": 133,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "getPlayer",
            "()Lnet/minecraft/world/entity/player/Player;"
          ]
        },
        {
          "offset": 136,
          "opcode": 182,
          "member": [
            "net/minecraft/world/entity/player/Player",
            "getAbilities",
            "()Lnet/minecraft/world/entity/player/Abilities;"
          ]
        },
        {
          "offset": 139,
          "opcode": 180,
          "member": [
            "net/minecraft/world/entity/player/Abilities",
            "instabuild",
            "Z"
          ]
        },
        {
          "offset": 142,
          "opcode": 154,
          "operands": [
            0,
            16
          ]
        },
        {
          "offset": 145,
          "opcode": 42
        },
        {
          "offset": 146,
          "opcode": 180,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "this$0",
            "Lnet/tslat/aoa3/player/ServerPlayerDataManager;"
          ]
        },
        {
          "offset": 149,
          "opcode": 25,
          "operands": [
            9
          ]
        },
        {
          "offset": 151,
          "opcode": 3,
          "constant": 0
        },
        {
          "offset": 152,
          "opcode": 184,
          "member": [
            "net/tslat/aoa3/data/server/AoASkillReqReloadListener",
            "canEquip",
            "(Lnet/tslat/aoa3/player/PlayerDataManager;Lnet/minecraft/world/item/Item;Z)Z"
          ]
        },
        {
          "offset": 155,
          "opcode": 153,
          "operands": [
            0,
            11
          ]
        },
        {
          "offset": 158,
          "opcode": 42
        },
        {
          "offset": 159,
          "opcode": 25,
          "operands": [
            9
          ]
        },
        {
          "offset": 161,
          "opcode": 25,
          "operands": [
            5
          ]
        },
        {
          "offset": 163,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "equipAdventArmour",
            "(Lnet/tslat/aoa3/content/item/armour/AdventArmour;Lnet/tslat/aoa3/content/item/armour/AdventArmour$Piece;)V"
          ]
        },
        {
          "offset": 166,
          "opcode": 132,
          "operands": [
            4,
            1
          ]
        },
        {
          "offset": 169,
          "opcode": 167,
          "operands": [
            255,
            99
          ]
        },
        {
          "offset": 172,
          "opcode": 27
        },
        {
          "offset": 173,
          "opcode": 153,
          "operands": [
            0,
            147
          ]
        },
        {
          "offset": 176,
          "opcode": 42
        },
        {
          "offset": 177,
          "opcode": 180,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "equippedByPiece",
            "Ljava/util/EnumMap;"
          ]
        },
        {
          "offset": 180,
          "opcode": 178,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour$Piece",
            "FULL_SET",
            "Lnet/tslat/aoa3/content/item/armour/AdventArmour$Piece;"
          ]
        },
        {
          "offset": 183,
          "opcode": 182,
          "member": [
            "java/util/EnumMap",
            "remove",
            "(Ljava/lang/Object;)Ljava/lang/Object;"
          ]
        },
        {
          "offset": 186,
          "opcode": 192,
          "operands": [
            0,
            118
          ]
        },
        {
          "offset": 189,
          "opcode": 77
        },
        {
          "offset": 190,
          "opcode": 1
        },
        {
          "offset": 191,
          "opcode": 78
        },
        {
          "offset": 192,
          "opcode": 186,
          "operands": [
            1,
            5,
            0,
            0
          ]
        },
        {
          "offset": 197,
          "opcode": 42
        },
        {
          "offset": 198,
          "opcode": 180,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "equippedByPiece",
            "Ljava/util/EnumMap;"
          ]
        },
        {
          "offset": 201,
          "opcode": 182,
          "member": [
            "java/util/EnumMap",
            "values",
            "()Ljava/util/Collection;"
          ]
        },
        {
          "offset": 204,
          "opcode": 3,
          "constant": 0
        },
        {
          "offset": 205,
          "opcode": 189,
          "operands": [
            0,
            118
          ]
        },
        {
          "offset": 208,
          "opcode": 185,
          "member": [
            "java/util/Collection",
            "toArray",
            "([Ljava/lang/Object;)[Ljava/lang/Object;"
          ]
        },
        {
          "offset": 213,
          "opcode": 192,
          "operands": [
            1,
            14
          ]
        },
        {
          "offset": 216,
          "opcode": 184,
          "member": [
            "net/tslat/aoa3/util/ObjectUtil",
            "allEquivalent",
            "(Ljava/util/function/BiPredicate;[Ljava/lang/Object;)Z"
          ]
        },
        {
          "offset": 219,
          "opcode": 153,
          "operands": [
            0,
            56
          ]
        },
        {
          "offset": 222,
          "opcode": 42
        },
        {
          "offset": 223,
          "opcode": 180,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "equippedByPiece",
            "Ljava/util/EnumMap;"
          ]
        },
        {
          "offset": 226,
          "opcode": 182,
          "member": [
            "java/util/EnumMap",
            "values",
            "()Ljava/util/Collection;"
          ]
        },
        {
          "offset": 229,
          "opcode": 185,
          "member": [
            "java/util/Collection",
            "iterator",
            "()Ljava/util/Iterator;"
          ]
        },
        {
          "offset": 234,
          "opcode": 58,
          "operands": [
            4
          ]
        },
        {
          "offset": 236,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 238,
          "opcode": 185,
          "member": [
            "java/util/Iterator",
            "hasNext",
            "()Z"
          ]
        },
        {
          "offset": 243,
          "opcode": 153,
          "operands": [
            0,
            32
          ]
        },
        {
          "offset": 246,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 248,
          "opcode": 185,
          "member": [
            "java/util/Iterator",
            "next",
            "()Ljava/lang/Object;"
          ]
        },
        {
          "offset": 253,
          "opcode": 192,
          "operands": [
            0,
            118
          ]
        },
        {
          "offset": 256,
          "opcode": 58,
          "operands": [
            5
          ]
        },
        {
          "offset": 258,
          "opcode": 25,
          "operands": [
            5
          ]
        },
        {
          "offset": 260,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour",
            "isCompatibleWithAnySet",
            "()Z"
          ]
        },
        {
          "offset": 263,
          "opcode": 154,
          "operands": [
            0,
            9
          ]
        },
        {
          "offset": 266,
          "opcode": 25,
          "operands": [
            5
          ]
        },
        {
          "offset": 268,
          "opcode": 78
        },
        {
          "offset": 269,
          "opcode": 167,
          "operands": [
            0,
            6
          ]
        },
        {
          "offset": 272,
          "opcode": 167,
          "operands": [
            255,
            220
          ]
        },
        {
          "offset": 275,
          "opcode": 45
        },
        {
          "offset": 276,
          "opcode": 198,
          "operands": [
            0,
            15
          ]
        },
        {
          "offset": 279,
          "opcode": 42
        },
        {
          "offset": 280,
          "opcode": 180,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "equippedByPiece",
            "Ljava/util/EnumMap;"
          ]
        },
        {
          "offset": 283,
          "opcode": 178,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour$Piece",
            "FULL_SET",
            "Lnet/tslat/aoa3/content/item/armour/AdventArmour$Piece;"
          ]
        },
        {
          "offset": 286,
          "opcode": 45
        },
        {
          "offset": 287,
          "opcode": 182,
          "member": [
            "java/util/EnumMap",
            "put",
            "(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;"
          ]
        },
        {
          "offset": 290,
          "opcode": 87
        },
        {
          "offset": 291,
          "opcode": 45
        },
        {
          "offset": 292,
          "opcode": 44
        },
        {
          "offset": 293,
          "opcode": 165,
          "operands": [
            0,
            27
          ]
        },
        {
          "offset": 296,
          "opcode": 44
        },
        {
          "offset": 297,
          "opcode": 198,
          "operands": [
            0,
            11
          ]
        },
        {
          "offset": 300,
          "opcode": 42
        },
        {
          "offset": 301,
          "opcode": 44
        },
        {
          "offset": 302,
          "opcode": 178,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour$Piece",
            "FULL_SET",
            "Lnet/tslat/aoa3/content/item/armour/AdventArmour$Piece;"
          ]
        },
        {
          "offset": 305,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "unequipAdventArmour",
            "(Lnet/tslat/aoa3/content/item/armour/AdventArmour;Lnet/tslat/aoa3/content/item/armour/AdventArmour$Piece;)V"
          ]
        },
        {
          "offset": 308,
          "opcode": 45
        },
        {
          "offset": 309,
          "opcode": 198,
          "operands": [
            0,
            11
          ]
        },
        {
          "offset": 312,
          "opcode": 42
        },
        {
          "offset": 313,
          "opcode": 45
        },
        {
          "offset": 314,
          "opcode": 178,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour$Piece",
            "FULL_SET",
            "Lnet/tslat/aoa3/content/item/armour/AdventArmour$Piece;"
          ]
        },
        {
          "offset": 317,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "equipAdventArmour",
            "(Lnet/tslat/aoa3/content/item/armour/AdventArmour;Lnet/tslat/aoa3/content/item/armour/AdventArmour$Piece;)V"
          ]
        },
        {
          "offset": 320,
          "opcode": 177
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment.class",
      "class_sha256": "f761fa85316b36bad913f81acb76faec5bd4a80a8af40e71449866acf7c42f98",
      "name": "checkEquippedItems",
      "descriptor": "()Z",
      "code_hex": "2ab60097b600f0b400f499000504ac033c043db801194e2dbe360403360515051504a200412d1505323a062ab600971906b6011e3a072ab400011907b600e204b800f99a001a043c2ab600971907b801222ab600971906b20128b6012c840501a7ffbeb800d84e2dbe360403360515051504a200692d1505323a061906b2006ea60006a700522ab4001d1906b60072c000763a071907c6003f2ab40001190704b800f99a0032043c033d1907b601303a082ab600972ab600971908b600deb801222ab600971908b20128b601332a19071906b600e8840501a7ff961b99000d2ab60097b40137b6013b1cac",
      "instructions": [
        {
          "offset": 0,
          "opcode": 42
        },
        {
          "offset": 1,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "getPlayer",
            "()Lnet/minecraft/world/entity/player/Player;"
          ]
        },
        {
          "offset": 4,
          "opcode": 182,
          "member": [
            "net/minecraft/world/entity/player/Player",
            "getAbilities",
            "()Lnet/minecraft/world/entity/player/Abilities;"
          ]
        },
        {
          "offset": 7,
          "opcode": 180,
          "member": [
            "net/minecraft/world/entity/player/Abilities",
            "instabuild",
            "Z"
          ]
        },
        {
          "offset": 10,
          "opcode": 153,
          "operands": [
            0,
            5
          ]
        },
        {
          "offset": 13,
          "opcode": 4,
          "constant": 1
        },
        {
          "offset": 14,
          "opcode": 172
        },
        {
          "offset": 15,
          "opcode": 3,
          "constant": 0
        },
        {
          "offset": 16,
          "opcode": 60
        },
        {
          "offset": 17,
          "opcode": 4,
          "constant": 1
        },
        {
          "offset": 18,
          "opcode": 61
        },
        {
          "offset": 19,
          "opcode": 184,
          "member": [
            "net/minecraft/world/InteractionHand",
            "values",
            "()[Lnet/minecraft/world/InteractionHand;"
          ]
        },
        {
          "offset": 22,
          "opcode": 78
        },
        {
          "offset": 23,
          "opcode": 45
        },
        {
          "offset": 24,
          "opcode": 190
        },
        {
          "offset": 25,
          "opcode": 54,
          "operands": [
            4
          ]
        },
        {
          "offset": 27,
          "opcode": 3,
          "constant": 0
        },
        {
          "offset": 28,
          "opcode": 54,
          "operands": [
            5
          ]
        },
        {
          "offset": 30,
          "opcode": 21,
          "operands": [
            5
          ]
        },
        {
          "offset": 32,
          "opcode": 21,
          "operands": [
            4
          ]
        },
        {
          "offset": 34,
          "opcode": 162,
          "operands": [
            0,
            65
          ]
        },
        {
          "offset": 37,
          "opcode": 45
        },
        {
          "offset": 38,
          "opcode": 21,
          "operands": [
            5
          ]
        },
        {
          "offset": 40,
          "opcode": 50
        },
        {
          "offset": 41,
          "opcode": 58,
          "operands": [
            6
          ]
        },
        {
          "offset": 43,
          "opcode": 42
        },
        {
          "offset": 44,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "getPlayer",
            "()Lnet/minecraft/world/entity/player/Player;"
          ]
        },
        {
          "offset": 47,
          "opcode": 25,
          "operands": [
            6
          ]
        },
        {
          "offset": 49,
          "opcode": 182,
          "member": [
            "net/minecraft/world/entity/player/Player",
            "getItemInHand",
            "(Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/item/ItemStack;"
          ]
        },
        {
          "offset": 52,
          "opcode": 58,
          "operands": [
            7
          ]
        },
        {
          "offset": 54,
          "opcode": 42
        },
        {
          "offset": 55,
          "opcode": 180,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "this$0",
            "Lnet/tslat/aoa3/player/ServerPlayerDataManager;"
          ]
        },
        {
          "offset": 58,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 60,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "getItem",
            "()Lnet/minecraft/world/item/Item;"
          ]
        },
        {
          "offset": 63,
          "opcode": 4,
          "constant": 1
        },
        {
          "offset": 64,
          "opcode": 184,
          "member": [
            "net/tslat/aoa3/data/server/AoASkillReqReloadListener",
            "canEquip",
            "(Lnet/tslat/aoa3/player/PlayerDataManager;Lnet/minecraft/world/item/Item;Z)Z"
          ]
        },
        {
          "offset": 67,
          "opcode": 154,
          "operands": [
            0,
            26
          ]
        },
        {
          "offset": 70,
          "opcode": 4,
          "constant": 1
        },
        {
          "offset": 71,
          "opcode": 60
        },
        {
          "offset": 72,
          "opcode": 42
        },
        {
          "offset": 73,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "getPlayer",
            "()Lnet/minecraft/world/entity/player/Player;"
          ]
        },
        {
          "offset": 76,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 78,
          "opcode": 184,
          "member": [
            "net/neoforged/neoforge/items/ItemHandlerHelper",
            "giveItemToPlayer",
            "(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/item/ItemStack;)V"
          ]
        },
        {
          "offset": 81,
          "opcode": 42
        },
        {
          "offset": 82,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "getPlayer",
            "()Lnet/minecraft/world/entity/player/Player;"
          ]
        },
        {
          "offset": 85,
          "opcode": 25,
          "operands": [
            6
          ]
        },
        {
          "offset": 87,
          "opcode": 178,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "EMPTY",
            "Lnet/minecraft/world/item/ItemStack;"
          ]
        },
        {
          "offset": 90,
          "opcode": 182,
          "member": [
            "net/minecraft/world/entity/player/Player",
            "setItemInHand",
            "(Lnet/minecraft/world/InteractionHand;Lnet/minecraft/world/item/ItemStack;)V"
          ]
        },
        {
          "offset": 93,
          "opcode": 132,
          "operands": [
            5,
            1
          ]
        },
        {
          "offset": 96,
          "opcode": 167,
          "operands": [
            255,
            190
          ]
        },
        {
          "offset": 99,
          "opcode": 184,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour$Piece",
            "values",
            "()[Lnet/tslat/aoa3/content/item/armour/AdventArmour$Piece;"
          ]
        },
        {
          "offset": 102,
          "opcode": 78
        },
        {
          "offset": 103,
          "opcode": 45
        },
        {
          "offset": 104,
          "opcode": 190
        },
        {
          "offset": 105,
          "opcode": 54,
          "operands": [
            4
          ]
        },
        {
          "offset": 107,
          "opcode": 3,
          "constant": 0
        },
        {
          "offset": 108,
          "opcode": 54,
          "operands": [
            5
          ]
        },
        {
          "offset": 110,
          "opcode": 21,
          "operands": [
            5
          ]
        },
        {
          "offset": 112,
          "opcode": 21,
          "operands": [
            4
          ]
        },
        {
          "offset": 114,
          "opcode": 162,
          "operands": [
            0,
            105
          ]
        },
        {
          "offset": 117,
          "opcode": 45
        },
        {
          "offset": 118,
          "opcode": 21,
          "operands": [
            5
          ]
        },
        {
          "offset": 120,
          "opcode": 50
        },
        {
          "offset": 121,
          "opcode": 58,
          "operands": [
            6
          ]
        },
        {
          "offset": 123,
          "opcode": 25,
          "operands": [
            6
          ]
        },
        {
          "offset": 125,
          "opcode": 178,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour$Piece",
            "FULL_SET",
            "Lnet/tslat/aoa3/content/item/armour/AdventArmour$Piece;"
          ]
        },
        {
          "offset": 128,
          "opcode": 166,
          "operands": [
            0,
            6
          ]
        },
        {
          "offset": 131,
          "opcode": 167,
          "operands": [
            0,
            82
          ]
        },
        {
          "offset": 134,
          "opcode": 42
        },
        {
          "offset": 135,
          "opcode": 180,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "equippedByPiece",
            "Ljava/util/EnumMap;"
          ]
        },
        {
          "offset": 138,
          "opcode": 25,
          "operands": [
            6
          ]
        },
        {
          "offset": 140,
          "opcode": 182,
          "member": [
            "java/util/EnumMap",
            "get",
            "(Ljava/lang/Object;)Ljava/lang/Object;"
          ]
        },
        {
          "offset": 143,
          "opcode": 192,
          "operands": [
            0,
            118
          ]
        },
        {
          "offset": 146,
          "opcode": 58,
          "operands": [
            7
          ]
        },
        {
          "offset": 148,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 150,
          "opcode": 198,
          "operands": [
            0,
            63
          ]
        },
        {
          "offset": 153,
          "opcode": 42
        },
        {
          "offset": 154,
          "opcode": 180,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "this$0",
            "Lnet/tslat/aoa3/player/ServerPlayerDataManager;"
          ]
        },
        {
          "offset": 157,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 159,
          "opcode": 4,
          "constant": 1
        },
        {
          "offset": 160,
          "opcode": 184,
          "member": [
            "net/tslat/aoa3/data/server/AoASkillReqReloadListener",
            "canEquip",
            "(Lnet/tslat/aoa3/player/PlayerDataManager;Lnet/minecraft/world/item/Item;Z)Z"
          ]
        },
        {
          "offset": 163,
          "opcode": 154,
          "operands": [
            0,
            50
          ]
        },
        {
          "offset": 166,
          "opcode": 4,
          "constant": 1
        },
        {
          "offset": 167,
          "opcode": 60
        },
        {
          "offset": 168,
          "opcode": 3,
          "constant": 0
        },
        {
          "offset": 169,
          "opcode": 61
        },
        {
          "offset": 170,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 172,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour",
            "getEquipmentSlot",
            "()Lnet/minecraft/world/entity/EquipmentSlot;"
          ]
        },
        {
          "offset": 175,
          "opcode": 58,
          "operands": [
            8
          ]
        },
        {
          "offset": 177,
          "opcode": 42
        },
        {
          "offset": 178,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "getPlayer",
            "()Lnet/minecraft/world/entity/player/Player;"
          ]
        },
        {
          "offset": 181,
          "opcode": 42
        },
        {
          "offset": 182,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "getPlayer",
            "()Lnet/minecraft/world/entity/player/Player;"
          ]
        },
        {
          "offset": 185,
          "opcode": 25,
          "operands": [
            8
          ]
        },
        {
          "offset": 187,
          "opcode": 182,
          "member": [
            "net/minecraft/world/entity/player/Player",
            "getItemBySlot",
            "(Lnet/minecraft/world/entity/EquipmentSlot;)Lnet/minecraft/world/item/ItemStack;"
          ]
        },
        {
          "offset": 190,
          "opcode": 184,
          "member": [
            "net/neoforged/neoforge/items/ItemHandlerHelper",
            "giveItemToPlayer",
            "(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/item/ItemStack;)V"
          ]
        },
        {
          "offset": 193,
          "opcode": 42
        },
        {
          "offset": 194,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "getPlayer",
            "()Lnet/minecraft/world/entity/player/Player;"
          ]
        },
        {
          "offset": 197,
          "opcode": 25,
          "operands": [
            8
          ]
        },
        {
          "offset": 199,
          "opcode": 178,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "EMPTY",
            "Lnet/minecraft/world/item/ItemStack;"
          ]
        },
        {
          "offset": 202,
          "opcode": 182,
          "member": [
            "net/minecraft/world/entity/player/Player",
            "setItemSlot",
            "(Lnet/minecraft/world/entity/EquipmentSlot;Lnet/minecraft/world/item/ItemStack;)V"
          ]
        },
        {
          "offset": 205,
          "opcode": 42
        },
        {
          "offset": 206,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 208,
          "opcode": 25,
          "operands": [
            6
          ]
        },
        {
          "offset": 210,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "unequipAdventArmour",
            "(Lnet/tslat/aoa3/content/item/armour/AdventArmour;Lnet/tslat/aoa3/content/item/armour/AdventArmour$Piece;)V"
          ]
        },
        {
          "offset": 213,
          "opcode": 132,
          "operands": [
            5,
            1
          ]
        },
        {
          "offset": 216,
          "opcode": 167,
          "operands": [
            255,
            150
          ]
        },
        {
          "offset": 219,
          "opcode": 27
        },
        {
          "offset": 220,
          "opcode": 153,
          "operands": [
            0,
            13
          ]
        },
        {
          "offset": 223,
          "opcode": 42
        },
        {
          "offset": 224,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "getPlayer",
            "()Lnet/minecraft/world/entity/player/Player;"
          ]
        },
        {
          "offset": 227,
          "opcode": 180,
          "member": [
            "net/minecraft/world/entity/player/Player",
            "inventoryMenu",
            "Lnet/minecraft/world/inventory/InventoryMenu;"
          ]
        },
        {
          "offset": 230,
          "opcode": 182,
          "member": [
            "net/minecraft/world/inventory/InventoryMenu",
            "broadcastChanges",
            "()V"
          ]
        },
        {
          "offset": 233,
          "opcode": 28
        },
        {
          "offset": 234,
          "opcode": 172
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment.class",
      "class_sha256": "f761fa85316b36bad913f81acb76faec5bd4a80a8af40e71449866acf7c42f98",
      "name": "equipAdventArmour",
      "descriptor": "(Lnet/tslat/aoa3/content/item/armour/AdventArmour;Lnet/tslat/aoa3/content/item/armour/AdventArmour$Piece;)V",
      "code_hex": "2ab400122bb600782bba01400000b901430300c000914e2b2ab600972c2db40147b6014a2db6009a2cb6014e57b1",
      "instructions": [
        {
          "offset": 0,
          "opcode": 42
        },
        {
          "offset": 1,
          "opcode": 180,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "equippedByMaterial",
            "Ljava/util/Map;"
          ]
        },
        {
          "offset": 4,
          "opcode": 43
        },
        {
          "offset": 5,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour",
            "getMaterial",
            "()Lnet/minecraft/core/Holder;"
          ]
        },
        {
          "offset": 8,
          "opcode": 43
        },
        {
          "offset": 9,
          "opcode": 186,
          "operands": [
            1,
            64,
            0,
            0
          ]
        },
        {
          "offset": 14,
          "opcode": 185,
          "member": [
            "java/util/Map",
            "computeIfAbsent",
            "(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;"
          ]
        },
        {
          "offset": 19,
          "opcode": 192,
          "operands": [
            0,
            145
          ]
        },
        {
          "offset": 22,
          "opcode": 78
        },
        {
          "offset": 23,
          "opcode": 43
        },
        {
          "offset": 24,
          "opcode": 42
        },
        {
          "offset": 25,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "getPlayer",
            "()Lnet/minecraft/world/entity/player/Player;"
          ]
        },
        {
          "offset": 28,
          "opcode": 44
        },
        {
          "offset": 29,
          "opcode": 45
        },
        {
          "offset": 30,
          "opcode": 180,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment$AdventArmourSetContainer",
            "equippedPieces",
            "Ljava/util/EnumSet;"
          ]
        },
        {
          "offset": 33,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour",
            "onEquip",
            "(Lnet/minecraft/world/entity/LivingEntity;Lnet/tslat/aoa3/content/item/armour/AdventArmour$Piece;Ljava/util/EnumSet;)V"
          ]
        },
        {
          "offset": 36,
          "opcode": 45
        },
        {
          "offset": 37,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment$AdventArmourSetContainer",
            "equippedPieces",
            "()Ljava/util/EnumSet;"
          ]
        },
        {
          "offset": 40,
          "opcode": 44
        },
        {
          "offset": 41,
          "opcode": 182,
          "member": [
            "java/util/EnumSet",
            "add",
            "(Ljava/lang/Object;)Z"
          ]
        },
        {
          "offset": 44,
          "opcode": 87
        },
        {
          "offset": 45,
          "opcode": 177
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment.class",
      "class_sha256": "f761fa85316b36bad913f81acb76faec5bd4a80a8af40e71449866acf7c42f98",
      "name": "unequipAdventArmour",
      "descriptor": "(Lnet/tslat/aoa3/content/item/armour/AdventArmour;Lnet/tslat/aoa3/content/item/armour/AdventArmour$Piece;)V",
      "code_hex": "2ab400122bb60078b901540200c000914e2dc600312b2ab600972c2db6009ab601552db6009a2cb60158572db6009ab6015a9900112ab400122bb60078b9015d020057b1",
      "instructions": [
        {
          "offset": 0,
          "opcode": 42
        },
        {
          "offset": 1,
          "opcode": 180,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "equippedByMaterial",
            "Ljava/util/Map;"
          ]
        },
        {
          "offset": 4,
          "opcode": 43
        },
        {
          "offset": 5,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour",
            "getMaterial",
            "()Lnet/minecraft/core/Holder;"
          ]
        },
        {
          "offset": 8,
          "opcode": 185,
          "member": [
            "java/util/Map",
            "get",
            "(Ljava/lang/Object;)Ljava/lang/Object;"
          ]
        },
        {
          "offset": 13,
          "opcode": 192,
          "operands": [
            0,
            145
          ]
        },
        {
          "offset": 16,
          "opcode": 78
        },
        {
          "offset": 17,
          "opcode": 45
        },
        {
          "offset": 18,
          "opcode": 198,
          "operands": [
            0,
            49
          ]
        },
        {
          "offset": 21,
          "opcode": 43
        },
        {
          "offset": 22,
          "opcode": 42
        },
        {
          "offset": 23,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "getPlayer",
            "()Lnet/minecraft/world/entity/player/Player;"
          ]
        },
        {
          "offset": 26,
          "opcode": 44
        },
        {
          "offset": 27,
          "opcode": 45
        },
        {
          "offset": 28,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment$AdventArmourSetContainer",
            "equippedPieces",
            "()Ljava/util/EnumSet;"
          ]
        },
        {
          "offset": 31,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour",
            "onUnequip",
            "(Lnet/minecraft/world/entity/LivingEntity;Lnet/tslat/aoa3/content/item/armour/AdventArmour$Piece;Ljava/util/EnumSet;)V"
          ]
        },
        {
          "offset": 34,
          "opcode": 45
        },
        {
          "offset": 35,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment$AdventArmourSetContainer",
            "equippedPieces",
            "()Ljava/util/EnumSet;"
          ]
        },
        {
          "offset": 38,
          "opcode": 44
        },
        {
          "offset": 39,
          "opcode": 182,
          "member": [
            "java/util/EnumSet",
            "remove",
            "(Ljava/lang/Object;)Z"
          ]
        },
        {
          "offset": 42,
          "opcode": 87
        },
        {
          "offset": 43,
          "opcode": 45
        },
        {
          "offset": 44,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment$AdventArmourSetContainer",
            "equippedPieces",
            "()Ljava/util/EnumSet;"
          ]
        },
        {
          "offset": 47,
          "opcode": 182,
          "member": [
            "java/util/EnumSet",
            "isEmpty",
            "()Z"
          ]
        },
        {
          "offset": 50,
          "opcode": 153,
          "operands": [
            0,
            17
          ]
        },
        {
          "offset": 53,
          "opcode": 42
        },
        {
          "offset": 54,
          "opcode": 180,
          "member": [
            "net/tslat/aoa3/player/ServerPlayerDataManager$Equipment",
            "equippedByMaterial",
            "Ljava/util/Map;"
          ]
        },
        {
          "offset": 57,
          "opcode": 43
        },
        {
          "offset": 58,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/content/item/armour/AdventArmour",
            "getMaterial",
            "()Lnet/minecraft/core/Holder;"
          ]
        },
        {
          "offset": 61,
          "opcode": 185,
          "member": [
            "java/util/Map",
            "remove",
            "(Ljava/lang/Object;)Ljava/lang/Object;"
          ]
        },
        {
          "offset": 66,
          "opcode": 87
        },
        {
          "offset": 67,
          "opcode": 177
        }
      ]
    }
  ],
  "shared_rules": [
    "Equipment-change events set a flag; the pre-player-tick handler returns for dead or spectator players, processes changed equipment, checks equipment requirements, then invokes one armor tick callback per stored material container.",
    "Material grouping and FULL_SET are separate from raw slot count. perPieceValue subtracts the FULL_SET sentinel from the EnumSet size.",
    "Compatible-with-any-set pieces affect full-set recognition; do not assume their material containers contribute every ordinary per-piece bonus.",
    "DamageUtil.percentDamageReduction returns existingReduction+(newDamage-existingReduction)*fraction; it is not a flat reduction of original pre-pipeline damage."
  ],
  "acceptance": [
    "Test one, two, three and four ordinary pieces with fall versus non-fall Alacrity damage; reconcile tooltip or implementation only after deciding intended behavior.",
    "Test universal headpieces, equip/unequip transitions, skill-requirement changes and reconnect; do not infer effects solely from visual full-set appearance.",
    "Test temperature thresholds and resource caps, full-inventory equipment rejection and multiplayer/event ordering on copied saves."
  ],
  "external_method_evidence": [
    {
      "class_path": "net/tslat/aoa3/util/ItemUtil.class",
      "class_sha256": "592c51c9eee804ca05c20d2b89d56fa2af7cb0facf2739ab7c9cc6404a421008",
      "name": "findAndConsumeRunes",
      "descriptor": "(Lit/unimi/dsi/fastutil/objects/Reference2IntMap;Lnet/minecraft/server/level/ServerPlayer;ZLnet/minecraft/world/item/ItemStack;)Z",
      "code_hex": "2bb6003599000504acbb0089592ab7008b3a041c9900112bb2008eb8009499000704a700040336051904b6009ab9009e01003a061906b900a401009900241906b900a90100c000773a07190419071c2b2d1505ba00ad0000b600b157a7ffd81904b600b599000504acbb00b659b700b83a06bb0089591904b7008b3a072bb200b9b600bf3a082bb200c3b600bf3a091908b200c6b600cc99004a1908b600d03a0a1907190ab600d39900391907190ab600d7360b190602b900db020057150b1908b600e164360b150b9e00101907190a150bb600e557a7000b1907190ab600e9571907b600b59a00561909b200c6b600cc99004b1909b600d03a0a1907190ab600d399003a1907190ab600d7360b190610feb900db020057150b1909b600e164360b150b9e00101907190a150bb600e557a7000b1907190ab600e9571907b600b59a008103360a150a2bb600ecb600f0a200722bb600ec150ab600f53a0b190bb200c6b600cc990056190bb600d03a0c1907190cb600d39900451907190cb600d7360d1906150ab900db020057150d190bb600e164360d150d9e00101907190c150db600e557a7000b1907190cb600e9571907b600b5990006a70009840a01a7ff881907b600b599012d190602b900f802009900502bb200b9b600bf3a0a190ab600d03a0b1904190bb600d7360c150c190ab600e164360d190a150cb60020150d9d000e1904190bb600e957a7000d1904190b150db600e557190602b900fb020057190610feb900f802009900512bb200c3b600bf3a0a190ab600d03a0b1904190bb600d7360c150c190ab600e164360d190a150cb60020150d9d000e1904190bb600e957a7000d1904190b150db600e557190610feb900fb0200571906b900fe01003a0a190ab900a40100990066190ab900a90100c00101b60103360b2bb600ec150bb600f53a0c190cb600d03a0d1904190db600d7360e150e190cb600e164360f190c150eb60020150f9d000e1904190db600e957a7000d1904190d150fb600e5571904b600b5990006a70006a7ff9604ac03ac",
      "instructions": [
        {
          "offset": 0,
          "opcode": 43
        },
        {
          "offset": 1,
          "opcode": 182,
          "member": [
            "net/minecraft/server/level/ServerPlayer",
            "hasInfiniteMaterials",
            "()Z"
          ]
        },
        {
          "offset": 4,
          "opcode": 153,
          "operands": [
            0,
            5
          ]
        },
        {
          "offset": 7,
          "opcode": 4,
          "constant": 1
        },
        {
          "offset": 8,
          "opcode": 172
        },
        {
          "offset": 9,
          "opcode": 187,
          "operands": [
            0,
            137
          ]
        },
        {
          "offset": 12,
          "opcode": 89
        },
        {
          "offset": 13,
          "opcode": 42
        },
        {
          "offset": 14,
          "opcode": 183,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "<init>",
            "(Lit/unimi/dsi/fastutil/objects/Reference2IntMap;)V"
          ]
        },
        {
          "offset": 17,
          "opcode": 58,
          "operands": [
            4
          ]
        },
        {
          "offset": 19,
          "opcode": 28
        },
        {
          "offset": 20,
          "opcode": 153,
          "operands": [
            0,
            17
          ]
        },
        {
          "offset": 23,
          "opcode": 43
        },
        {
          "offset": 24,
          "opcode": 178,
          "member": [
            "net/tslat/aoa3/common/registration/item/AoAArmourMaterials",
            "NIGHTMARE",
            "Lnet/neoforged/neoforge/registries/DeferredHolder;"
          ]
        },
        {
          "offset": 27,
          "opcode": 184,
          "member": [
            "net/tslat/aoa3/util/PlayerUtil",
            "isWearingFullSet",
            "(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/core/Holder;)Z"
          ]
        },
        {
          "offset": 30,
          "opcode": 153,
          "operands": [
            0,
            7
          ]
        },
        {
          "offset": 33,
          "opcode": 4,
          "constant": 1
        },
        {
          "offset": 34,
          "opcode": 167,
          "operands": [
            0,
            4
          ]
        },
        {
          "offset": 37,
          "opcode": 3,
          "constant": 0
        },
        {
          "offset": 38,
          "opcode": 54,
          "operands": [
            5
          ]
        },
        {
          "offset": 40,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 42,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "keySet",
            "()Lit/unimi/dsi/fastutil/objects/ReferenceSet;"
          ]
        },
        {
          "offset": 45,
          "opcode": 185,
          "member": [
            "it/unimi/dsi/fastutil/objects/ReferenceSet",
            "iterator",
            "()Lit/unimi/dsi/fastutil/objects/ObjectIterator;"
          ]
        },
        {
          "offset": 50,
          "opcode": 58,
          "operands": [
            6
          ]
        },
        {
          "offset": 52,
          "opcode": 25,
          "operands": [
            6
          ]
        },
        {
          "offset": 54,
          "opcode": 185,
          "member": [
            "java/util/Iterator",
            "hasNext",
            "()Z"
          ]
        },
        {
          "offset": 59,
          "opcode": 153,
          "operands": [
            0,
            36
          ]
        },
        {
          "offset": 62,
          "opcode": 25,
          "operands": [
            6
          ]
        },
        {
          "offset": 64,
          "opcode": 185,
          "member": [
            "java/util/Iterator",
            "next",
            "()Ljava/lang/Object;"
          ]
        },
        {
          "offset": 69,
          "opcode": 192,
          "operands": [
            0,
            119
          ]
        },
        {
          "offset": 72,
          "opcode": 58,
          "operands": [
            7
          ]
        },
        {
          "offset": 74,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 76,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 78,
          "opcode": 28
        },
        {
          "offset": 79,
          "opcode": 43
        },
        {
          "offset": 80,
          "opcode": 45
        },
        {
          "offset": 81,
          "opcode": 21,
          "operands": [
            5
          ]
        },
        {
          "offset": 83,
          "opcode": 186,
          "operands": [
            0,
            173,
            0,
            0
          ]
        },
        {
          "offset": 88,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "computeIntIfPresent",
            "(Ljava/lang/Object;Ljava/util/function/BiFunction;)I"
          ]
        },
        {
          "offset": 91,
          "opcode": 87
        },
        {
          "offset": 92,
          "opcode": 167,
          "operands": [
            255,
            216
          ]
        },
        {
          "offset": 95,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 97,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "isEmpty",
            "()Z"
          ]
        },
        {
          "offset": 100,
          "opcode": 153,
          "operands": [
            0,
            5
          ]
        },
        {
          "offset": 103,
          "opcode": 4,
          "constant": 1
        },
        {
          "offset": 104,
          "opcode": 172
        },
        {
          "offset": 105,
          "opcode": 187,
          "operands": [
            0,
            182
          ]
        },
        {
          "offset": 108,
          "opcode": 89
        },
        {
          "offset": 109,
          "opcode": 183,
          "member": [
            "it/unimi/dsi/fastutil/ints/IntOpenHashSet",
            "<init>",
            "()V"
          ]
        },
        {
          "offset": 112,
          "opcode": 58,
          "operands": [
            6
          ]
        },
        {
          "offset": 114,
          "opcode": 187,
          "operands": [
            0,
            137
          ]
        },
        {
          "offset": 117,
          "opcode": 89
        },
        {
          "offset": 118,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 120,
          "opcode": 183,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "<init>",
            "(Lit/unimi/dsi/fastutil/objects/Reference2IntMap;)V"
          ]
        },
        {
          "offset": 123,
          "opcode": 58,
          "operands": [
            7
          ]
        },
        {
          "offset": 125,
          "opcode": 43
        },
        {
          "offset": 126,
          "opcode": 178,
          "member": [
            "net/minecraft/world/InteractionHand",
            "MAIN_HAND",
            "Lnet/minecraft/world/InteractionHand;"
          ]
        },
        {
          "offset": 129,
          "opcode": 182,
          "member": [
            "net/minecraft/server/level/ServerPlayer",
            "getItemInHand",
            "(Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/item/ItemStack;"
          ]
        },
        {
          "offset": 132,
          "opcode": 58,
          "operands": [
            8
          ]
        },
        {
          "offset": 134,
          "opcode": 43
        },
        {
          "offset": 135,
          "opcode": 178,
          "member": [
            "net/minecraft/world/InteractionHand",
            "OFF_HAND",
            "Lnet/minecraft/world/InteractionHand;"
          ]
        },
        {
          "offset": 138,
          "opcode": 182,
          "member": [
            "net/minecraft/server/level/ServerPlayer",
            "getItemInHand",
            "(Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/item/ItemStack;"
          ]
        },
        {
          "offset": 141,
          "opcode": 58,
          "operands": [
            9
          ]
        },
        {
          "offset": 143,
          "opcode": 25,
          "operands": [
            8
          ]
        },
        {
          "offset": 145,
          "opcode": 178,
          "member": [
            "net/tslat/aoa3/common/registration/AoATags$Items",
            "ADVENT_RUNE",
            "Lnet/minecraft/tags/TagKey;"
          ]
        },
        {
          "offset": 148,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "is",
            "(Lnet/minecraft/tags/TagKey;)Z"
          ]
        },
        {
          "offset": 151,
          "opcode": 153,
          "operands": [
            0,
            74
          ]
        },
        {
          "offset": 154,
          "opcode": 25,
          "operands": [
            8
          ]
        },
        {
          "offset": 156,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "getItem",
            "()Lnet/minecraft/world/item/Item;"
          ]
        },
        {
          "offset": 159,
          "opcode": 58,
          "operands": [
            10
          ]
        },
        {
          "offset": 161,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 163,
          "opcode": 25,
          "operands": [
            10
          ]
        },
        {
          "offset": 165,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "containsKey",
            "(Ljava/lang/Object;)Z"
          ]
        },
        {
          "offset": 168,
          "opcode": 153,
          "operands": [
            0,
            57
          ]
        },
        {
          "offset": 171,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 173,
          "opcode": 25,
          "operands": [
            10
          ]
        },
        {
          "offset": 175,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "getInt",
            "(Ljava/lang/Object;)I"
          ]
        },
        {
          "offset": 178,
          "opcode": 54,
          "operands": [
            11
          ]
        },
        {
          "offset": 180,
          "opcode": 25,
          "operands": [
            6
          ]
        },
        {
          "offset": 182,
          "opcode": 2,
          "constant": -1
        },
        {
          "offset": 183,
          "opcode": 185,
          "member": [
            "it/unimi/dsi/fastutil/ints/IntSet",
            "add",
            "(I)Z"
          ]
        },
        {
          "offset": 188,
          "opcode": 87
        },
        {
          "offset": 189,
          "opcode": 21,
          "operands": [
            11
          ]
        },
        {
          "offset": 191,
          "opcode": 25,
          "operands": [
            8
          ]
        },
        {
          "offset": 193,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "getCount",
            "()I"
          ]
        },
        {
          "offset": 196,
          "opcode": 100
        },
        {
          "offset": 197,
          "opcode": 54,
          "operands": [
            11
          ]
        },
        {
          "offset": 199,
          "opcode": 21,
          "operands": [
            11
          ]
        },
        {
          "offset": 201,
          "opcode": 158,
          "operands": [
            0,
            16
          ]
        },
        {
          "offset": 204,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 206,
          "opcode": 25,
          "operands": [
            10
          ]
        },
        {
          "offset": 208,
          "opcode": 21,
          "operands": [
            11
          ]
        },
        {
          "offset": 210,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "put",
            "(Ljava/lang/Object;I)I"
          ]
        },
        {
          "offset": 213,
          "opcode": 87
        },
        {
          "offset": 214,
          "opcode": 167,
          "operands": [
            0,
            11
          ]
        },
        {
          "offset": 217,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 219,
          "opcode": 25,
          "operands": [
            10
          ]
        },
        {
          "offset": 221,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "removeInt",
            "(Ljava/lang/Object;)I"
          ]
        },
        {
          "offset": 224,
          "opcode": 87
        },
        {
          "offset": 225,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 227,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "isEmpty",
            "()Z"
          ]
        },
        {
          "offset": 230,
          "opcode": 154,
          "operands": [
            0,
            86
          ]
        },
        {
          "offset": 233,
          "opcode": 25,
          "operands": [
            9
          ]
        },
        {
          "offset": 235,
          "opcode": 178,
          "member": [
            "net/tslat/aoa3/common/registration/AoATags$Items",
            "ADVENT_RUNE",
            "Lnet/minecraft/tags/TagKey;"
          ]
        },
        {
          "offset": 238,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "is",
            "(Lnet/minecraft/tags/TagKey;)Z"
          ]
        },
        {
          "offset": 241,
          "opcode": 153,
          "operands": [
            0,
            75
          ]
        },
        {
          "offset": 244,
          "opcode": 25,
          "operands": [
            9
          ]
        },
        {
          "offset": 246,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "getItem",
            "()Lnet/minecraft/world/item/Item;"
          ]
        },
        {
          "offset": 249,
          "opcode": 58,
          "operands": [
            10
          ]
        },
        {
          "offset": 251,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 253,
          "opcode": 25,
          "operands": [
            10
          ]
        },
        {
          "offset": 255,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "containsKey",
            "(Ljava/lang/Object;)Z"
          ]
        },
        {
          "offset": 258,
          "opcode": 153,
          "operands": [
            0,
            58
          ]
        },
        {
          "offset": 261,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 263,
          "opcode": 25,
          "operands": [
            10
          ]
        },
        {
          "offset": 265,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "getInt",
            "(Ljava/lang/Object;)I"
          ]
        },
        {
          "offset": 268,
          "opcode": 54,
          "operands": [
            11
          ]
        },
        {
          "offset": 270,
          "opcode": 25,
          "operands": [
            6
          ]
        },
        {
          "offset": 272,
          "opcode": 16,
          "constant": -2
        },
        {
          "offset": 274,
          "opcode": 185,
          "member": [
            "it/unimi/dsi/fastutil/ints/IntSet",
            "add",
            "(I)Z"
          ]
        },
        {
          "offset": 279,
          "opcode": 87
        },
        {
          "offset": 280,
          "opcode": 21,
          "operands": [
            11
          ]
        },
        {
          "offset": 282,
          "opcode": 25,
          "operands": [
            9
          ]
        },
        {
          "offset": 284,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "getCount",
            "()I"
          ]
        },
        {
          "offset": 287,
          "opcode": 100
        },
        {
          "offset": 288,
          "opcode": 54,
          "operands": [
            11
          ]
        },
        {
          "offset": 290,
          "opcode": 21,
          "operands": [
            11
          ]
        },
        {
          "offset": 292,
          "opcode": 158,
          "operands": [
            0,
            16
          ]
        },
        {
          "offset": 295,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 297,
          "opcode": 25,
          "operands": [
            10
          ]
        },
        {
          "offset": 299,
          "opcode": 21,
          "operands": [
            11
          ]
        },
        {
          "offset": 301,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "put",
            "(Ljava/lang/Object;I)I"
          ]
        },
        {
          "offset": 304,
          "opcode": 87
        },
        {
          "offset": 305,
          "opcode": 167,
          "operands": [
            0,
            11
          ]
        },
        {
          "offset": 308,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 310,
          "opcode": 25,
          "operands": [
            10
          ]
        },
        {
          "offset": 312,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "removeInt",
            "(Ljava/lang/Object;)I"
          ]
        },
        {
          "offset": 315,
          "opcode": 87
        },
        {
          "offset": 316,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 318,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "isEmpty",
            "()Z"
          ]
        },
        {
          "offset": 321,
          "opcode": 154,
          "operands": [
            0,
            129
          ]
        },
        {
          "offset": 324,
          "opcode": 3,
          "constant": 0
        },
        {
          "offset": 325,
          "opcode": 54,
          "operands": [
            10
          ]
        },
        {
          "offset": 327,
          "opcode": 21,
          "operands": [
            10
          ]
        },
        {
          "offset": 329,
          "opcode": 43
        },
        {
          "offset": 330,
          "opcode": 182,
          "member": [
            "net/minecraft/server/level/ServerPlayer",
            "getInventory",
            "()Lnet/minecraft/world/entity/player/Inventory;"
          ]
        },
        {
          "offset": 333,
          "opcode": 182,
          "member": [
            "net/minecraft/world/entity/player/Inventory",
            "getContainerSize",
            "()I"
          ]
        },
        {
          "offset": 336,
          "opcode": 162,
          "operands": [
            0,
            114
          ]
        },
        {
          "offset": 339,
          "opcode": 43
        },
        {
          "offset": 340,
          "opcode": 182,
          "member": [
            "net/minecraft/server/level/ServerPlayer",
            "getInventory",
            "()Lnet/minecraft/world/entity/player/Inventory;"
          ]
        },
        {
          "offset": 343,
          "opcode": 21,
          "operands": [
            10
          ]
        },
        {
          "offset": 345,
          "opcode": 182,
          "member": [
            "net/minecraft/world/entity/player/Inventory",
            "getItem",
            "(I)Lnet/minecraft/world/item/ItemStack;"
          ]
        },
        {
          "offset": 348,
          "opcode": 58,
          "operands": [
            11
          ]
        },
        {
          "offset": 350,
          "opcode": 25,
          "operands": [
            11
          ]
        },
        {
          "offset": 352,
          "opcode": 178,
          "member": [
            "net/tslat/aoa3/common/registration/AoATags$Items",
            "ADVENT_RUNE",
            "Lnet/minecraft/tags/TagKey;"
          ]
        },
        {
          "offset": 355,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "is",
            "(Lnet/minecraft/tags/TagKey;)Z"
          ]
        },
        {
          "offset": 358,
          "opcode": 153,
          "operands": [
            0,
            86
          ]
        },
        {
          "offset": 361,
          "opcode": 25,
          "operands": [
            11
          ]
        },
        {
          "offset": 363,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "getItem",
            "()Lnet/minecraft/world/item/Item;"
          ]
        },
        {
          "offset": 366,
          "opcode": 58,
          "operands": [
            12
          ]
        },
        {
          "offset": 368,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 370,
          "opcode": 25,
          "operands": [
            12
          ]
        },
        {
          "offset": 372,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "containsKey",
            "(Ljava/lang/Object;)Z"
          ]
        },
        {
          "offset": 375,
          "opcode": 153,
          "operands": [
            0,
            69
          ]
        },
        {
          "offset": 378,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 380,
          "opcode": 25,
          "operands": [
            12
          ]
        },
        {
          "offset": 382,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "getInt",
            "(Ljava/lang/Object;)I"
          ]
        },
        {
          "offset": 385,
          "opcode": 54,
          "operands": [
            13
          ]
        },
        {
          "offset": 387,
          "opcode": 25,
          "operands": [
            6
          ]
        },
        {
          "offset": 389,
          "opcode": 21,
          "operands": [
            10
          ]
        },
        {
          "offset": 391,
          "opcode": 185,
          "member": [
            "it/unimi/dsi/fastutil/ints/IntSet",
            "add",
            "(I)Z"
          ]
        },
        {
          "offset": 396,
          "opcode": 87
        },
        {
          "offset": 397,
          "opcode": 21,
          "operands": [
            13
          ]
        },
        {
          "offset": 399,
          "opcode": 25,
          "operands": [
            11
          ]
        },
        {
          "offset": 401,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "getCount",
            "()I"
          ]
        },
        {
          "offset": 404,
          "opcode": 100
        },
        {
          "offset": 405,
          "opcode": 54,
          "operands": [
            13
          ]
        },
        {
          "offset": 407,
          "opcode": 21,
          "operands": [
            13
          ]
        },
        {
          "offset": 409,
          "opcode": 158,
          "operands": [
            0,
            16
          ]
        },
        {
          "offset": 412,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 414,
          "opcode": 25,
          "operands": [
            12
          ]
        },
        {
          "offset": 416,
          "opcode": 21,
          "operands": [
            13
          ]
        },
        {
          "offset": 418,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "put",
            "(Ljava/lang/Object;I)I"
          ]
        },
        {
          "offset": 421,
          "opcode": 87
        },
        {
          "offset": 422,
          "opcode": 167,
          "operands": [
            0,
            11
          ]
        },
        {
          "offset": 425,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 427,
          "opcode": 25,
          "operands": [
            12
          ]
        },
        {
          "offset": 429,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "removeInt",
            "(Ljava/lang/Object;)I"
          ]
        },
        {
          "offset": 432,
          "opcode": 87
        },
        {
          "offset": 433,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 435,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "isEmpty",
            "()Z"
          ]
        },
        {
          "offset": 438,
          "opcode": 153,
          "operands": [
            0,
            6
          ]
        },
        {
          "offset": 441,
          "opcode": 167,
          "operands": [
            0,
            9
          ]
        },
        {
          "offset": 444,
          "opcode": 132,
          "operands": [
            10,
            1
          ]
        },
        {
          "offset": 447,
          "opcode": 167,
          "operands": [
            255,
            136
          ]
        },
        {
          "offset": 450,
          "opcode": 25,
          "operands": [
            7
          ]
        },
        {
          "offset": 452,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "isEmpty",
            "()Z"
          ]
        },
        {
          "offset": 455,
          "opcode": 153,
          "operands": [
            1,
            45
          ]
        },
        {
          "offset": 458,
          "opcode": 25,
          "operands": [
            6
          ]
        },
        {
          "offset": 460,
          "opcode": 2,
          "constant": -1
        },
        {
          "offset": 461,
          "opcode": 185,
          "member": [
            "it/unimi/dsi/fastutil/ints/IntSet",
            "contains",
            "(I)Z"
          ]
        },
        {
          "offset": 466,
          "opcode": 153,
          "operands": [
            0,
            80
          ]
        },
        {
          "offset": 469,
          "opcode": 43
        },
        {
          "offset": 470,
          "opcode": 178,
          "member": [
            "net/minecraft/world/InteractionHand",
            "MAIN_HAND",
            "Lnet/minecraft/world/InteractionHand;"
          ]
        },
        {
          "offset": 473,
          "opcode": 182,
          "member": [
            "net/minecraft/server/level/ServerPlayer",
            "getItemInHand",
            "(Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/item/ItemStack;"
          ]
        },
        {
          "offset": 476,
          "opcode": 58,
          "operands": [
            10
          ]
        },
        {
          "offset": 478,
          "opcode": 25,
          "operands": [
            10
          ]
        },
        {
          "offset": 480,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "getItem",
            "()Lnet/minecraft/world/item/Item;"
          ]
        },
        {
          "offset": 483,
          "opcode": 58,
          "operands": [
            11
          ]
        },
        {
          "offset": 485,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 487,
          "opcode": 25,
          "operands": [
            11
          ]
        },
        {
          "offset": 489,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "getInt",
            "(Ljava/lang/Object;)I"
          ]
        },
        {
          "offset": 492,
          "opcode": 54,
          "operands": [
            12
          ]
        },
        {
          "offset": 494,
          "opcode": 21,
          "operands": [
            12
          ]
        },
        {
          "offset": 496,
          "opcode": 25,
          "operands": [
            10
          ]
        },
        {
          "offset": 498,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "getCount",
            "()I"
          ]
        },
        {
          "offset": 501,
          "opcode": 100
        },
        {
          "offset": 502,
          "opcode": 54,
          "operands": [
            13
          ]
        },
        {
          "offset": 504,
          "opcode": 25,
          "operands": [
            10
          ]
        },
        {
          "offset": 506,
          "opcode": 21,
          "operands": [
            12
          ]
        },
        {
          "offset": 508,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "shrink",
            "(I)V"
          ]
        },
        {
          "offset": 511,
          "opcode": 21,
          "operands": [
            13
          ]
        },
        {
          "offset": 513,
          "opcode": 157,
          "operands": [
            0,
            14
          ]
        },
        {
          "offset": 516,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 518,
          "opcode": 25,
          "operands": [
            11
          ]
        },
        {
          "offset": 520,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "removeInt",
            "(Ljava/lang/Object;)I"
          ]
        },
        {
          "offset": 523,
          "opcode": 87
        },
        {
          "offset": 524,
          "opcode": 167,
          "operands": [
            0,
            13
          ]
        },
        {
          "offset": 527,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 529,
          "opcode": 25,
          "operands": [
            11
          ]
        },
        {
          "offset": 531,
          "opcode": 21,
          "operands": [
            13
          ]
        },
        {
          "offset": 533,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "put",
            "(Ljava/lang/Object;I)I"
          ]
        },
        {
          "offset": 536,
          "opcode": 87
        },
        {
          "offset": 537,
          "opcode": 25,
          "operands": [
            6
          ]
        },
        {
          "offset": 539,
          "opcode": 2,
          "constant": -1
        },
        {
          "offset": 540,
          "opcode": 185,
          "member": [
            "it/unimi/dsi/fastutil/ints/IntSet",
            "remove",
            "(I)Z"
          ]
        },
        {
          "offset": 545,
          "opcode": 87
        },
        {
          "offset": 546,
          "opcode": 25,
          "operands": [
            6
          ]
        },
        {
          "offset": 548,
          "opcode": 16,
          "constant": -2
        },
        {
          "offset": 550,
          "opcode": 185,
          "member": [
            "it/unimi/dsi/fastutil/ints/IntSet",
            "contains",
            "(I)Z"
          ]
        },
        {
          "offset": 555,
          "opcode": 153,
          "operands": [
            0,
            81
          ]
        },
        {
          "offset": 558,
          "opcode": 43
        },
        {
          "offset": 559,
          "opcode": 178,
          "member": [
            "net/minecraft/world/InteractionHand",
            "OFF_HAND",
            "Lnet/minecraft/world/InteractionHand;"
          ]
        },
        {
          "offset": 562,
          "opcode": 182,
          "member": [
            "net/minecraft/server/level/ServerPlayer",
            "getItemInHand",
            "(Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/item/ItemStack;"
          ]
        },
        {
          "offset": 565,
          "opcode": 58,
          "operands": [
            10
          ]
        },
        {
          "offset": 567,
          "opcode": 25,
          "operands": [
            10
          ]
        },
        {
          "offset": 569,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "getItem",
            "()Lnet/minecraft/world/item/Item;"
          ]
        },
        {
          "offset": 572,
          "opcode": 58,
          "operands": [
            11
          ]
        },
        {
          "offset": 574,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 576,
          "opcode": 25,
          "operands": [
            11
          ]
        },
        {
          "offset": 578,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "getInt",
            "(Ljava/lang/Object;)I"
          ]
        },
        {
          "offset": 581,
          "opcode": 54,
          "operands": [
            12
          ]
        },
        {
          "offset": 583,
          "opcode": 21,
          "operands": [
            12
          ]
        },
        {
          "offset": 585,
          "opcode": 25,
          "operands": [
            10
          ]
        },
        {
          "offset": 587,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "getCount",
            "()I"
          ]
        },
        {
          "offset": 590,
          "opcode": 100
        },
        {
          "offset": 591,
          "opcode": 54,
          "operands": [
            13
          ]
        },
        {
          "offset": 593,
          "opcode": 25,
          "operands": [
            10
          ]
        },
        {
          "offset": 595,
          "opcode": 21,
          "operands": [
            12
          ]
        },
        {
          "offset": 597,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "shrink",
            "(I)V"
          ]
        },
        {
          "offset": 600,
          "opcode": 21,
          "operands": [
            13
          ]
        },
        {
          "offset": 602,
          "opcode": 157,
          "operands": [
            0,
            14
          ]
        },
        {
          "offset": 605,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 607,
          "opcode": 25,
          "operands": [
            11
          ]
        },
        {
          "offset": 609,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "removeInt",
            "(Ljava/lang/Object;)I"
          ]
        },
        {
          "offset": 612,
          "opcode": 87
        },
        {
          "offset": 613,
          "opcode": 167,
          "operands": [
            0,
            13
          ]
        },
        {
          "offset": 616,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 618,
          "opcode": 25,
          "operands": [
            11
          ]
        },
        {
          "offset": 620,
          "opcode": 21,
          "operands": [
            13
          ]
        },
        {
          "offset": 622,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "put",
            "(Ljava/lang/Object;I)I"
          ]
        },
        {
          "offset": 625,
          "opcode": 87
        },
        {
          "offset": 626,
          "opcode": 25,
          "operands": [
            6
          ]
        },
        {
          "offset": 628,
          "opcode": 16,
          "constant": -2
        },
        {
          "offset": 630,
          "opcode": 185,
          "member": [
            "it/unimi/dsi/fastutil/ints/IntSet",
            "remove",
            "(I)Z"
          ]
        },
        {
          "offset": 635,
          "opcode": 87
        },
        {
          "offset": 636,
          "opcode": 25,
          "operands": [
            6
          ]
        },
        {
          "offset": 638,
          "opcode": 185,
          "member": [
            "it/unimi/dsi/fastutil/ints/IntSet",
            "iterator",
            "()Lit/unimi/dsi/fastutil/ints/IntIterator;"
          ]
        },
        {
          "offset": 643,
          "opcode": 58,
          "operands": [
            10
          ]
        },
        {
          "offset": 645,
          "opcode": 25,
          "operands": [
            10
          ]
        },
        {
          "offset": 647,
          "opcode": 185,
          "member": [
            "java/util/Iterator",
            "hasNext",
            "()Z"
          ]
        },
        {
          "offset": 652,
          "opcode": 153,
          "operands": [
            0,
            102
          ]
        },
        {
          "offset": 655,
          "opcode": 25,
          "operands": [
            10
          ]
        },
        {
          "offset": 657,
          "opcode": 185,
          "member": [
            "java/util/Iterator",
            "next",
            "()Ljava/lang/Object;"
          ]
        },
        {
          "offset": 662,
          "opcode": 192,
          "operands": [
            1,
            1
          ]
        },
        {
          "offset": 665,
          "opcode": 182,
          "member": [
            "java/lang/Integer",
            "intValue",
            "()I"
          ]
        },
        {
          "offset": 668,
          "opcode": 54,
          "operands": [
            11
          ]
        },
        {
          "offset": 670,
          "opcode": 43
        },
        {
          "offset": 671,
          "opcode": 182,
          "member": [
            "net/minecraft/server/level/ServerPlayer",
            "getInventory",
            "()Lnet/minecraft/world/entity/player/Inventory;"
          ]
        },
        {
          "offset": 674,
          "opcode": 21,
          "operands": [
            11
          ]
        },
        {
          "offset": 676,
          "opcode": 182,
          "member": [
            "net/minecraft/world/entity/player/Inventory",
            "getItem",
            "(I)Lnet/minecraft/world/item/ItemStack;"
          ]
        },
        {
          "offset": 679,
          "opcode": 58,
          "operands": [
            12
          ]
        },
        {
          "offset": 681,
          "opcode": 25,
          "operands": [
            12
          ]
        },
        {
          "offset": 683,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "getItem",
            "()Lnet/minecraft/world/item/Item;"
          ]
        },
        {
          "offset": 686,
          "opcode": 58,
          "operands": [
            13
          ]
        },
        {
          "offset": 688,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 690,
          "opcode": 25,
          "operands": [
            13
          ]
        },
        {
          "offset": 692,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "getInt",
            "(Ljava/lang/Object;)I"
          ]
        },
        {
          "offset": 695,
          "opcode": 54,
          "operands": [
            14
          ]
        },
        {
          "offset": 697,
          "opcode": 21,
          "operands": [
            14
          ]
        },
        {
          "offset": 699,
          "opcode": 25,
          "operands": [
            12
          ]
        },
        {
          "offset": 701,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "getCount",
            "()I"
          ]
        },
        {
          "offset": 704,
          "opcode": 100
        },
        {
          "offset": 705,
          "opcode": 54,
          "operands": [
            15
          ]
        },
        {
          "offset": 707,
          "opcode": 25,
          "operands": [
            12
          ]
        },
        {
          "offset": 709,
          "opcode": 21,
          "operands": [
            14
          ]
        },
        {
          "offset": 711,
          "opcode": 182,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "shrink",
            "(I)V"
          ]
        },
        {
          "offset": 714,
          "opcode": 21,
          "operands": [
            15
          ]
        },
        {
          "offset": 716,
          "opcode": 157,
          "operands": [
            0,
            14
          ]
        },
        {
          "offset": 719,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 721,
          "opcode": 25,
          "operands": [
            13
          ]
        },
        {
          "offset": 723,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "removeInt",
            "(Ljava/lang/Object;)I"
          ]
        },
        {
          "offset": 726,
          "opcode": 87
        },
        {
          "offset": 727,
          "opcode": 167,
          "operands": [
            0,
            13
          ]
        },
        {
          "offset": 730,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 732,
          "opcode": 25,
          "operands": [
            13
          ]
        },
        {
          "offset": 734,
          "opcode": 21,
          "operands": [
            15
          ]
        },
        {
          "offset": 736,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "put",
            "(Ljava/lang/Object;I)I"
          ]
        },
        {
          "offset": 739,
          "opcode": 87
        },
        {
          "offset": 740,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 742,
          "opcode": 182,
          "member": [
            "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
            "isEmpty",
            "()Z"
          ]
        },
        {
          "offset": 745,
          "opcode": 153,
          "operands": [
            0,
            6
          ]
        },
        {
          "offset": 748,
          "opcode": 167,
          "operands": [
            0,
            6
          ]
        },
        {
          "offset": 751,
          "opcode": 167,
          "operands": [
            255,
            150
          ]
        },
        {
          "offset": 754,
          "opcode": 4,
          "constant": 1
        },
        {
          "offset": 755,
          "opcode": 172
        },
        {
          "offset": 756,
          "opcode": 3,
          "constant": 0
        },
        {
          "offset": 757,
          "opcode": 172
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/util/ItemUtil.class",
      "class_sha256": "592c51c9eee804ca05c20d2b89d56fa2af7cb0facf2739ab7c9cc6404a421008",
      "name": "lambda$findAndConsumeRunes$4",
      "descriptor": "(ZLnet/minecraft/server/level/ServerPlayer;Lnet/minecraft/world/item/ItemStack;ZLnet/minecraft/world/item/Item;Ljava/lang/Integer;)Ljava/lang/Integer;",
      "code_hex": "1a99003a2bb600362c1905b60103b8012786b8012db801333a051d9900201904b20137b6013da6000501b01905b60103046404b80142b801333a052bb600362c1905b60103b8014586b8012db80133b0",
      "instructions": [
        {
          "offset": 0,
          "opcode": 26
        },
        {
          "offset": 1,
          "opcode": 153,
          "operands": [
            0,
            58
          ]
        },
        {
          "offset": 4,
          "opcode": 43
        },
        {
          "offset": 5,
          "opcode": 182,
          "member": [
            "net/minecraft/server/level/ServerPlayer",
            "serverLevel",
            "()Lnet/minecraft/server/level/ServerLevel;"
          ]
        },
        {
          "offset": 8,
          "opcode": 44
        },
        {
          "offset": 9,
          "opcode": 25,
          "operands": [
            5
          ]
        },
        {
          "offset": 11,
          "opcode": 182,
          "member": [
            "java/lang/Integer",
            "intValue",
            "()I"
          ]
        },
        {
          "offset": 14,
          "opcode": 184,
          "member": [
            "net/tslat/aoa3/common/registration/item/AoAEnchantments",
            "modifyRuneCost",
            "(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/item/ItemStack;I)I"
          ]
        },
        {
          "offset": 17,
          "opcode": 134
        },
        {
          "offset": 18,
          "opcode": 184,
          "member": [
            "net/minecraft/util/Mth",
            "ceil",
            "(F)I"
          ]
        },
        {
          "offset": 21,
          "opcode": 184,
          "member": [
            "java/lang/Integer",
            "valueOf",
            "(I)Ljava/lang/Integer;"
          ]
        },
        {
          "offset": 24,
          "opcode": 58,
          "operands": [
            5
          ]
        },
        {
          "offset": 26,
          "opcode": 29
        },
        {
          "offset": 27,
          "opcode": 153,
          "operands": [
            0,
            32
          ]
        },
        {
          "offset": 30,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 32,
          "opcode": 178,
          "member": [
            "net/tslat/aoa3/common/registration/item/AoAItems",
            "DISTORTION_RUNE",
            "Lnet/neoforged/neoforge/registries/DeferredItem;"
          ]
        },
        {
          "offset": 35,
          "opcode": 182,
          "member": [
            "net/neoforged/neoforge/registries/DeferredItem",
            "get",
            "()Ljava/lang/Object;"
          ]
        },
        {
          "offset": 38,
          "opcode": 166,
          "operands": [
            0,
            5
          ]
        },
        {
          "offset": 41,
          "opcode": 1
        },
        {
          "offset": 42,
          "opcode": 176
        },
        {
          "offset": 43,
          "opcode": 25,
          "operands": [
            5
          ]
        },
        {
          "offset": 45,
          "opcode": 182,
          "member": [
            "java/lang/Integer",
            "intValue",
            "()I"
          ]
        },
        {
          "offset": 48,
          "opcode": 4,
          "constant": 1
        },
        {
          "offset": 49,
          "opcode": 100
        },
        {
          "offset": 50,
          "opcode": 4,
          "constant": 1
        },
        {
          "offset": 51,
          "opcode": 184,
          "member": [
            "java/lang/Math",
            "max",
            "(II)I"
          ]
        },
        {
          "offset": 54,
          "opcode": 184,
          "member": [
            "java/lang/Integer",
            "valueOf",
            "(I)Ljava/lang/Integer;"
          ]
        },
        {
          "offset": 57,
          "opcode": 58,
          "operands": [
            5
          ]
        },
        {
          "offset": 59,
          "opcode": 43
        },
        {
          "offset": 60,
          "opcode": 182,
          "member": [
            "net/minecraft/server/level/ServerPlayer",
            "serverLevel",
            "()Lnet/minecraft/server/level/ServerLevel;"
          ]
        },
        {
          "offset": 63,
          "opcode": 44
        },
        {
          "offset": 64,
          "opcode": 25,
          "operands": [
            5
          ]
        },
        {
          "offset": 66,
          "opcode": 182,
          "member": [
            "java/lang/Integer",
            "intValue",
            "()I"
          ]
        },
        {
          "offset": 69,
          "opcode": 184,
          "member": [
            "net/tslat/aoa3/common/registration/item/AoAEnchantments",
            "modifyAmmoCost",
            "(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/item/ItemStack;I)I"
          ]
        },
        {
          "offset": 72,
          "opcode": 134
        },
        {
          "offset": 73,
          "opcode": 184,
          "member": [
            "net/minecraft/util/Mth",
            "ceil",
            "(F)I"
          ]
        },
        {
          "offset": 76,
          "opcode": 184,
          "member": [
            "java/lang/Integer",
            "valueOf",
            "(I)Ljava/lang/Integer;"
          ]
        },
        {
          "offset": 79,
          "opcode": 176
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/event/PlayerEvents.class",
      "class_sha256": "1652efb8b6d3d439dcd967b4a7453e83f78868250a29926b7cc8f78b9494a0d1",
      "name": "onBlockPlace",
      "descriptor": "(Lnet/neoforged/neoforge/event/level/BlockEvent$EntityPlaceEvent;)V",
      "code_hex": "2ab601b24d2cc100a999000b2cc000a94ca70004b12bb201b3b801b899004e2ab601bcb601bfc101c3990041bb00ec59b201c5b701822ab601b2b601cb2ab601ce2bb801cf9900252ab601d51105e12ab601ce03b901db04002b2bb60118b601e1b601e51301eab601ebb1",
      "instructions": [
        {
          "offset": 0,
          "opcode": 42
        },
        {
          "offset": 1,
          "opcode": 182,
          "member": [
            "net/neoforged/neoforge/event/level/BlockEvent$EntityPlaceEvent",
            "getEntity",
            "()Lnet/minecraft/world/entity/Entity;"
          ]
        },
        {
          "offset": 4,
          "opcode": 77
        },
        {
          "offset": 5,
          "opcode": 44
        },
        {
          "offset": 6,
          "opcode": 193,
          "operands": [
            0,
            169
          ]
        },
        {
          "offset": 9,
          "opcode": 153,
          "operands": [
            0,
            11
          ]
        },
        {
          "offset": 12,
          "opcode": 44
        },
        {
          "offset": 13,
          "opcode": 192,
          "operands": [
            0,
            169
          ]
        },
        {
          "offset": 16,
          "opcode": 76
        },
        {
          "offset": 17,
          "opcode": 167,
          "operands": [
            0,
            4
          ]
        },
        {
          "offset": 20,
          "opcode": 177
        },
        {
          "offset": 21,
          "opcode": 43
        },
        {
          "offset": 22,
          "opcode": 178,
          "member": [
            "net/tslat/aoa3/common/registration/item/AoAArmourMaterials",
            "HYDRANGIC",
            "Lnet/neoforged/neoforge/registries/DeferredHolder;"
          ]
        },
        {
          "offset": 25,
          "opcode": 184,
          "member": [
            "net/tslat/aoa3/util/PlayerUtil",
            "isWearingFullSet",
            "(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/core/Holder;)Z"
          ]
        },
        {
          "offset": 28,
          "opcode": 153,
          "operands": [
            0,
            78
          ]
        },
        {
          "offset": 31,
          "opcode": 42
        },
        {
          "offset": 32,
          "opcode": 182,
          "member": [
            "net/neoforged/neoforge/event/level/BlockEvent$EntityPlaceEvent",
            "getPlacedBlock",
            "()Lnet/minecraft/world/level/block/state/BlockState;"
          ]
        },
        {
          "offset": 35,
          "opcode": 182,
          "member": [
            "net/minecraft/world/level/block/state/BlockState",
            "getBlock",
            "()Lnet/minecraft/world/level/block/Block;"
          ]
        },
        {
          "offset": 38,
          "opcode": 193,
          "operands": [
            1,
            195
          ]
        },
        {
          "offset": 41,
          "opcode": 153,
          "operands": [
            0,
            65
          ]
        },
        {
          "offset": 44,
          "opcode": 187,
          "operands": [
            0,
            236
          ]
        },
        {
          "offset": 47,
          "opcode": 89
        },
        {
          "offset": 48,
          "opcode": 178,
          "member": [
            "net/minecraft/world/item/Items",
            "BONE_MEAL",
            "Lnet/minecraft/world/item/Item;"
          ]
        },
        {
          "offset": 51,
          "opcode": 183,
          "member": [
            "net/minecraft/world/item/ItemStack",
            "<init>",
            "(Lnet/minecraft/world/level/ItemLike;)V"
          ]
        },
        {
          "offset": 54,
          "opcode": 42
        },
        {
          "offset": 55,
          "opcode": 182,
          "member": [
            "net/neoforged/neoforge/event/level/BlockEvent$EntityPlaceEvent",
            "getEntity",
            "()Lnet/minecraft/world/entity/Entity;"
          ]
        },
        {
          "offset": 58,
          "opcode": 182,
          "member": [
            "net/minecraft/world/entity/Entity",
            "level",
            "()Lnet/minecraft/world/level/Level;"
          ]
        },
        {
          "offset": 61,
          "opcode": 42
        },
        {
          "offset": 62,
          "opcode": 182,
          "member": [
            "net/neoforged/neoforge/event/level/BlockEvent$EntityPlaceEvent",
            "getPos",
            "()Lnet/minecraft/core/BlockPos;"
          ]
        },
        {
          "offset": 65,
          "opcode": 43
        },
        {
          "offset": 66,
          "opcode": 184,
          "member": [
            "net/minecraft/world/item/BoneMealItem",
            "applyBonemeal",
            "(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/entity/player/Player;)Z"
          ]
        },
        {
          "offset": 69,
          "opcode": 153,
          "operands": [
            0,
            37
          ]
        },
        {
          "offset": 72,
          "opcode": 42
        },
        {
          "offset": 73,
          "opcode": 182,
          "member": [
            "net/neoforged/neoforge/event/level/BlockEvent$EntityPlaceEvent",
            "getLevel",
            "()Lnet/minecraft/world/level/LevelAccessor;"
          ]
        },
        {
          "offset": 76,
          "opcode": 17,
          "constant": 1505
        },
        {
          "offset": 79,
          "opcode": 42
        },
        {
          "offset": 80,
          "opcode": 182,
          "member": [
            "net/neoforged/neoforge/event/level/BlockEvent$EntityPlaceEvent",
            "getPos",
            "()Lnet/minecraft/core/BlockPos;"
          ]
        },
        {
          "offset": 83,
          "opcode": 3,
          "constant": 0
        },
        {
          "offset": 84,
          "opcode": 185,
          "member": [
            "net/minecraft/world/level/LevelAccessor",
            "levelEvent",
            "(ILnet/minecraft/core/BlockPos;I)V"
          ]
        },
        {
          "offset": 89,
          "opcode": 43
        },
        {
          "offset": 90,
          "opcode": 43
        },
        {
          "offset": 91,
          "opcode": 182,
          "member": [
            "net/minecraft/server/level/ServerPlayer",
            "level",
            "()Lnet/minecraft/world/level/Level;"
          ]
        },
        {
          "offset": 94,
          "opcode": 182,
          "member": [
            "net/minecraft/world/level/Level",
            "damageSources",
            "()Lnet/minecraft/world/damagesource/DamageSources;"
          ]
        },
        {
          "offset": 97,
          "opcode": 182,
          "member": [
            "net/minecraft/world/damagesource/DamageSources",
            "generic",
            "()Lnet/minecraft/world/damagesource/DamageSource;"
          ]
        },
        {
          "offset": 100,
          "opcode": 19,
          "constant": 16.0
        },
        {
          "offset": 103,
          "opcode": 182,
          "member": [
            "net/minecraft/server/level/ServerPlayer",
            "hurtArmor",
            "(Lnet/minecraft/world/damagesource/DamageSource;F)V"
          ]
        },
        {
          "offset": 106,
          "opcode": 177
        }
      ]
    },
    {
      "class_path": "net/tslat/aoa3/content/item/weapon/blaster/AoABlaster.class",
      "class_sha256": "7ab814a208034a363998c81bc33b578d4e5283266714fd7f8a2f283dfdafa064",
      "name": "getSpiritCost",
      "descriptor": "(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/entity/Entity;Z)F",
      "code_hex": "2cc1006d9900152cc0006d3a041904b600999900091d9900050bae2a2bb601a338051904b601a62b1705b801aa380517050c1904b601a62b03b801b0861301b46a626a38051904b201b5b801ba99000b17051301be6a38051705ae",
      "instructions": [
        {
          "offset": 0,
          "opcode": 44
        },
        {
          "offset": 1,
          "opcode": 193,
          "operands": [
            0,
            109
          ]
        },
        {
          "offset": 4,
          "opcode": 153,
          "operands": [
            0,
            21
          ]
        },
        {
          "offset": 7,
          "opcode": 44
        },
        {
          "offset": 8,
          "opcode": 192,
          "operands": [
            0,
            109
          ]
        },
        {
          "offset": 11,
          "opcode": 58,
          "operands": [
            4
          ]
        },
        {
          "offset": 13,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 15,
          "opcode": 182,
          "member": [
            "net/minecraft/world/entity/player/Player",
            "hasInfiniteMaterials",
            "()Z"
          ]
        },
        {
          "offset": 18,
          "opcode": 153,
          "operands": [
            0,
            9
          ]
        },
        {
          "offset": 21,
          "opcode": 29
        },
        {
          "offset": 22,
          "opcode": 153,
          "operands": [
            0,
            5
          ]
        },
        {
          "offset": 25,
          "opcode": 11
        },
        {
          "offset": 26,
          "opcode": 174
        },
        {
          "offset": 27,
          "opcode": 42
        },
        {
          "offset": 28,
          "opcode": 43
        },
        {
          "offset": 29,
          "opcode": 182,
          "member": [
            "net/tslat/aoa3/content/item/weapon/blaster/AoABlaster",
            "getBaseSpiritCost",
            "(Lnet/minecraft/world/item/ItemStack;)F"
          ]
        },
        {
          "offset": 32,
          "opcode": 56,
          "operands": [
            5
          ]
        },
        {
          "offset": 34,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 36,
          "opcode": 182,
          "member": [
            "net/minecraft/world/entity/player/Player",
            "level",
            "()Lnet/minecraft/world/level/Level;"
          ]
        },
        {
          "offset": 39,
          "opcode": 43
        },
        {
          "offset": 40,
          "opcode": 23,
          "operands": [
            5
          ]
        },
        {
          "offset": 42,
          "opcode": 184,
          "member": [
            "net/tslat/aoa3/common/registration/item/AoAEnchantments",
            "modifySpiritConsumption",
            "(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/item/ItemStack;F)F"
          ]
        },
        {
          "offset": 45,
          "opcode": 56,
          "operands": [
            5
          ]
        },
        {
          "offset": 47,
          "opcode": 23,
          "operands": [
            5
          ]
        },
        {
          "offset": 49,
          "opcode": 12
        },
        {
          "offset": 50,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 52,
          "opcode": 182,
          "member": [
            "net/minecraft/world/entity/player/Player",
            "level",
            "()Lnet/minecraft/world/level/Level;"
          ]
        },
        {
          "offset": 55,
          "opcode": 43
        },
        {
          "offset": 56,
          "opcode": 3,
          "constant": 0
        },
        {
          "offset": 57,
          "opcode": 184,
          "member": [
            "net/tslat/aoa3/common/registration/item/AoAEnchantments",
            "modifyAmmoCost",
            "(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/item/ItemStack;I)I"
          ]
        },
        {
          "offset": 60,
          "opcode": 134
        },
        {
          "offset": 61,
          "opcode": 19,
          "constant": 0.30000001192092896
        },
        {
          "offset": 64,
          "opcode": 106
        },
        {
          "offset": 65,
          "opcode": 98
        },
        {
          "offset": 66,
          "opcode": 106
        },
        {
          "offset": 67,
          "opcode": 56,
          "operands": [
            5
          ]
        },
        {
          "offset": 69,
          "opcode": 25,
          "operands": [
            4
          ]
        },
        {
          "offset": 71,
          "opcode": 178,
          "member": [
            "net/tslat/aoa3/common/registration/item/AoAArmourMaterials",
            "GHOULISH",
            "Lnet/neoforged/neoforge/registries/DeferredHolder;"
          ]
        },
        {
          "offset": 74,
          "opcode": 184,
          "member": [
            "net/tslat/aoa3/util/PlayerUtil",
            "isWearingFullSet",
            "(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/core/Holder;)Z"
          ]
        },
        {
          "offset": 77,
          "opcode": 153,
          "operands": [
            0,
            11
          ]
        },
        {
          "offset": 80,
          "opcode": 23,
          "operands": [
            5
          ]
        },
        {
          "offset": 82,
          "opcode": 19,
          "constant": 0.699999988079071
        },
        {
          "offset": 85,
          "opcode": 106
        },
        {
          "offset": 86,
          "opcode": 56,
          "operands": [
            5
          ]
        },
        {
          "offset": 88,
          "opcode": 23,
          "operands": [
            5
          ]
        },
        {
          "offset": 90,
          "opcode": 174
        }
      ]
    }
  ],
  "attribute_modifiers": [
    {
      "set": "speed",
      "field": "SET_BONUS",
      "id": "aoa3:speed_armour_set",
      "amount": 0.1,
      "operation": "ADD_MULTIPLIED_TOTAL"
    },
    {
      "set": "speed",
      "field": "BOOTS_BONUS",
      "id": "aoa3:speed_armour_boots",
      "amount": 0.1,
      "operation": "ADD_MULTIPLIED_TOTAL"
    },
    {
      "set": "speed",
      "field": "LEGS_BONUS",
      "id": "aoa3:speed_armour_leggings",
      "amount": 0.1,
      "operation": "ADD_MULTIPLIED_TOTAL"
    },
    {
      "set": "speed",
      "field": "CHESTPLATE_BONUS",
      "id": "aoa3:speed_armour_chestplate",
      "amount": 0.1,
      "operation": "ADD_MULTIPLIED_TOTAL"
    },
    {
      "set": "speed",
      "field": "HELMET_BONUS",
      "id": "aoa3:speed_armour_helmet",
      "amount": 0.1,
      "operation": "ADD_MULTIPLIED_TOTAL"
    },
    {
      "set": "knight",
      "field": "KNIGHT_BOOTS_BUFF",
      "id": "aoa3:knight_armour_boots",
      "amount": 5.0,
      "operation": "ADD_VALUE"
    },
    {
      "set": "knight",
      "field": "KNIGHT_LEGS_BUFF",
      "id": "aoa3:knight_armour_leggings",
      "amount": 5.0,
      "operation": "ADD_VALUE"
    },
    {
      "set": "knight",
      "field": "KNIGHT_CHESTPLATE_BUFF",
      "id": "aoa3:knight_armour_chestplate",
      "amount": 5.0,
      "operation": "ADD_VALUE"
    },
    {
      "set": "knight",
      "field": "KNIGHT_HELMET_BUFF",
      "id": "aoa3:knight_armour_helmet",
      "amount": 5.0,
      "operation": "ADD_VALUE"
    },
    {
      "set": "phantasm",
      "field": "PHANTASM_BOOTS_BUFF",
      "id": "aoa3:phantasm_armour_boots",
      "amount": 1.0,
      "operation": "ADD_VALUE"
    },
    {
      "set": "phantasm",
      "field": "PHANTASM_LEGS_BUFF",
      "id": "aoa3:phantasm_armour_leggings",
      "amount": 1.0,
      "operation": "ADD_VALUE"
    },
    {
      "set": "phantasm",
      "field": "PHANTASM_CHESTPLATE_BUFF",
      "id": "aoa3:phantasm_armour_chestplate",
      "amount": 1.0,
      "operation": "ADD_VALUE"
    },
    {
      "set": "phantasm",
      "field": "PHANTASM_HELMET_BUFF",
      "id": "aoa3:phantasm_armour_helmet",
      "amount": 1.0,
      "operation": "ADD_VALUE"
    },
    {
      "set": "subterranean",
      "field": "ATTACK_SPEED_DEBUFF",
      "id": "aoa3:subterranean_armor_debuff",
      "amount": -0.16666667,
      "operation": "ADD_MULTIPLIED_TOTAL"
    }
  ],
  "external_scan": {
    "version": "1.21.1",
    "release": "3.7.16.1",
    "scope": "Direct constant-pool material-field references outside ordinary armor implementations and their material registration class. Not a proof of complete runtime behavior or absence of reflected, tag-driven, item-ID or external-mod paths.",
    "class_files_scanned": 2014,
    "material_fields": [
      "ALACRITY",
      "ARCHAIC",
      "BARON",
      "BATTLEBORN",
      "BIOGENIC",
      "BOREIC",
      "CANDY",
      "COMMANDER",
      "CRYSTALLIS",
      "ELECANYTE",
      "EMBRODIUM",
      "EXOPLATE",
      "EXPLOSIVE",
      "FUNGAL",
      "GHASTLY",
      "GHOULISH",
      "HAZMAT",
      "HYDRANGIC",
      "HYDROPLATE",
      "ICE",
      "INFERNAL",
      "KNIGHT",
      "LUNAR",
      "LYNDAMYTE",
      "LYONIC",
      "MERCURIAL",
      "NECRO",
      "NETHENGEIC",
      "NIGHTMARE",
      "OMNI",
      "PHANTASM",
      "POISON",
      "PREDATIOUS",
      "PRIMORDIAL",
      "PURITY",
      "ROCKBONE",
      "ROSIDIAN",
      "RUNIC",
      "SHARPSHOT",
      "SKELETAL",
      "SPACEKING",
      "SPEED",
      "SUBTERRANEAN",
      "UTOPIAN",
      "VOID",
      "WEAKEN",
      "WITHER",
      "ZARGONITE"
    ],
    "records": [
      {
        "class_path": "net/tslat/aoa3/content/item/weapon/blaster/AoABlaster.class",
        "class_sha256": "7ab814a208034a363998c81bc33b578d4e5283266714fd7f8a2f283dfdafa064",
        "materials": [
          "GHOULISH"
        ],
        "methods": [
          {
            "name": "getSpiritCost",
            "descriptor": "(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/entity/Entity;Z)F",
            "materials": [
              "GHOULISH"
            ],
            "code_hex": "2cc1006d9900152cc0006d3a041904b600999900091d9900050bae2a2bb601a338051904b601a62b1705b801aa380517050c1904b601a62b03b801b0861301b46a626a38051904b201b5b801ba99000b17051301be6a38051705ae",
            "instructions": [
              {
                "offset": 0,
                "opcode": 44
              },
              {
                "offset": 1,
                "opcode": 193,
                "operands": [
                  0,
                  109
                ]
              },
              {
                "offset": 4,
                "opcode": 153,
                "operands": [
                  0,
                  21
                ]
              },
              {
                "offset": 7,
                "opcode": 44
              },
              {
                "offset": 8,
                "opcode": 192,
                "operands": [
                  0,
                  109
                ]
              },
              {
                "offset": 11,
                "opcode": 58,
                "operands": [
                  4
                ]
              },
              {
                "offset": 13,
                "opcode": 25,
                "operands": [
                  4
                ]
              },
              {
                "offset": 15,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/entity/player/Player",
                  "hasInfiniteMaterials",
                  "()Z"
                ]
              },
              {
                "offset": 18,
                "opcode": 153,
                "operands": [
                  0,
                  9
                ]
              },
              {
                "offset": 21,
                "opcode": 29
              },
              {
                "offset": 22,
                "opcode": 153,
                "operands": [
                  0,
                  5
                ]
              },
              {
                "offset": 25,
                "opcode": 11
              },
              {
                "offset": 26,
                "opcode": 174
              },
              {
                "offset": 27,
                "opcode": 42
              },
              {
                "offset": 28,
                "opcode": 43
              },
              {
                "offset": 29,
                "opcode": 182,
                "member": [
                  "net/tslat/aoa3/content/item/weapon/blaster/AoABlaster",
                  "getBaseSpiritCost",
                  "(Lnet/minecraft/world/item/ItemStack;)F"
                ]
              },
              {
                "offset": 32,
                "opcode": 56,
                "operands": [
                  5
                ]
              },
              {
                "offset": 34,
                "opcode": 25,
                "operands": [
                  4
                ]
              },
              {
                "offset": 36,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/entity/player/Player",
                  "level",
                  "()Lnet/minecraft/world/level/Level;"
                ]
              },
              {
                "offset": 39,
                "opcode": 43
              },
              {
                "offset": 40,
                "opcode": 23,
                "operands": [
                  5
                ]
              },
              {
                "offset": 42,
                "opcode": 184,
                "member": [
                  "net/tslat/aoa3/common/registration/item/AoAEnchantments",
                  "modifySpiritConsumption",
                  "(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/item/ItemStack;F)F"
                ]
              },
              {
                "offset": 45,
                "opcode": 56,
                "operands": [
                  5
                ]
              },
              {
                "offset": 47,
                "opcode": 23,
                "operands": [
                  5
                ]
              },
              {
                "offset": 49,
                "opcode": 12
              },
              {
                "offset": 50,
                "opcode": 25,
                "operands": [
                  4
                ]
              },
              {
                "offset": 52,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/entity/player/Player",
                  "level",
                  "()Lnet/minecraft/world/level/Level;"
                ]
              },
              {
                "offset": 55,
                "opcode": 43
              },
              {
                "offset": 56,
                "opcode": 3,
                "constant": 0
              },
              {
                "offset": 57,
                "opcode": 184,
                "member": [
                  "net/tslat/aoa3/common/registration/item/AoAEnchantments",
                  "modifyAmmoCost",
                  "(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/item/ItemStack;I)I"
                ]
              },
              {
                "offset": 60,
                "opcode": 134
              },
              {
                "offset": 61,
                "opcode": 19,
                "constant": 0.30000001192092896
              },
              {
                "offset": 64,
                "opcode": 106
              },
              {
                "offset": 65,
                "opcode": 98
              },
              {
                "offset": 66,
                "opcode": 106
              },
              {
                "offset": 67,
                "opcode": 56,
                "operands": [
                  5
                ]
              },
              {
                "offset": 69,
                "opcode": 25,
                "operands": [
                  4
                ]
              },
              {
                "offset": 71,
                "opcode": 178,
                "member": [
                  "net/tslat/aoa3/common/registration/item/AoAArmourMaterials",
                  "GHOULISH",
                  "Lnet/neoforged/neoforge/registries/DeferredHolder;"
                ]
              },
              {
                "offset": 74,
                "opcode": 184,
                "member": [
                  "net/tslat/aoa3/util/PlayerUtil",
                  "isWearingFullSet",
                  "(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/core/Holder;)Z"
                ]
              },
              {
                "offset": 77,
                "opcode": 153,
                "operands": [
                  0,
                  11
                ]
              },
              {
                "offset": 80,
                "opcode": 23,
                "operands": [
                  5
                ]
              },
              {
                "offset": 82,
                "opcode": 19,
                "constant": 0.699999988079071
              },
              {
                "offset": 85,
                "opcode": 106
              },
              {
                "offset": 86,
                "opcode": 56,
                "operands": [
                  5
                ]
              },
              {
                "offset": 88,
                "opcode": 23,
                "operands": [
                  5
                ]
              },
              {
                "offset": 90,
                "opcode": 174
              }
            ]
          }
        ]
      },
      {
        "class_path": "net/tslat/aoa3/event/PlayerEvents.class",
        "class_sha256": "1652efb8b6d3d439dcd967b4a7453e83f78868250a29926b7cc8f78b9494a0d1",
        "materials": [
          "HYDRANGIC"
        ],
        "methods": [
          {
            "name": "onBlockPlace",
            "descriptor": "(Lnet/neoforged/neoforge/event/level/BlockEvent$EntityPlaceEvent;)V",
            "materials": [
              "HYDRANGIC"
            ],
            "code_hex": "2ab601b24d2cc100a999000b2cc000a94ca70004b12bb201b3b801b899004e2ab601bcb601bfc101c3990041bb00ec59b201c5b701822ab601b2b601cb2ab601ce2bb801cf9900252ab601d51105e12ab601ce03b901db04002b2bb60118b601e1b601e51301eab601ebb1",
            "instructions": [
              {
                "offset": 0,
                "opcode": 42
              },
              {
                "offset": 1,
                "opcode": 182,
                "member": [
                  "net/neoforged/neoforge/event/level/BlockEvent$EntityPlaceEvent",
                  "getEntity",
                  "()Lnet/minecraft/world/entity/Entity;"
                ]
              },
              {
                "offset": 4,
                "opcode": 77
              },
              {
                "offset": 5,
                "opcode": 44
              },
              {
                "offset": 6,
                "opcode": 193,
                "operands": [
                  0,
                  169
                ]
              },
              {
                "offset": 9,
                "opcode": 153,
                "operands": [
                  0,
                  11
                ]
              },
              {
                "offset": 12,
                "opcode": 44
              },
              {
                "offset": 13,
                "opcode": 192,
                "operands": [
                  0,
                  169
                ]
              },
              {
                "offset": 16,
                "opcode": 76
              },
              {
                "offset": 17,
                "opcode": 167,
                "operands": [
                  0,
                  4
                ]
              },
              {
                "offset": 20,
                "opcode": 177
              },
              {
                "offset": 21,
                "opcode": 43
              },
              {
                "offset": 22,
                "opcode": 178,
                "member": [
                  "net/tslat/aoa3/common/registration/item/AoAArmourMaterials",
                  "HYDRANGIC",
                  "Lnet/neoforged/neoforge/registries/DeferredHolder;"
                ]
              },
              {
                "offset": 25,
                "opcode": 184,
                "member": [
                  "net/tslat/aoa3/util/PlayerUtil",
                  "isWearingFullSet",
                  "(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/core/Holder;)Z"
                ]
              },
              {
                "offset": 28,
                "opcode": 153,
                "operands": [
                  0,
                  78
                ]
              },
              {
                "offset": 31,
                "opcode": 42
              },
              {
                "offset": 32,
                "opcode": 182,
                "member": [
                  "net/neoforged/neoforge/event/level/BlockEvent$EntityPlaceEvent",
                  "getPlacedBlock",
                  "()Lnet/minecraft/world/level/block/state/BlockState;"
                ]
              },
              {
                "offset": 35,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/level/block/state/BlockState",
                  "getBlock",
                  "()Lnet/minecraft/world/level/block/Block;"
                ]
              },
              {
                "offset": 38,
                "opcode": 193,
                "operands": [
                  1,
                  195
                ]
              },
              {
                "offset": 41,
                "opcode": 153,
                "operands": [
                  0,
                  65
                ]
              },
              {
                "offset": 44,
                "opcode": 187,
                "operands": [
                  0,
                  236
                ]
              },
              {
                "offset": 47,
                "opcode": 89
              },
              {
                "offset": 48,
                "opcode": 178,
                "member": [
                  "net/minecraft/world/item/Items",
                  "BONE_MEAL",
                  "Lnet/minecraft/world/item/Item;"
                ]
              },
              {
                "offset": 51,
                "opcode": 183,
                "member": [
                  "net/minecraft/world/item/ItemStack",
                  "<init>",
                  "(Lnet/minecraft/world/level/ItemLike;)V"
                ]
              },
              {
                "offset": 54,
                "opcode": 42
              },
              {
                "offset": 55,
                "opcode": 182,
                "member": [
                  "net/neoforged/neoforge/event/level/BlockEvent$EntityPlaceEvent",
                  "getEntity",
                  "()Lnet/minecraft/world/entity/Entity;"
                ]
              },
              {
                "offset": 58,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/entity/Entity",
                  "level",
                  "()Lnet/minecraft/world/level/Level;"
                ]
              },
              {
                "offset": 61,
                "opcode": 42
              },
              {
                "offset": 62,
                "opcode": 182,
                "member": [
                  "net/neoforged/neoforge/event/level/BlockEvent$EntityPlaceEvent",
                  "getPos",
                  "()Lnet/minecraft/core/BlockPos;"
                ]
              },
              {
                "offset": 65,
                "opcode": 43
              },
              {
                "offset": 66,
                "opcode": 184,
                "member": [
                  "net/minecraft/world/item/BoneMealItem",
                  "applyBonemeal",
                  "(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/entity/player/Player;)Z"
                ]
              },
              {
                "offset": 69,
                "opcode": 153,
                "operands": [
                  0,
                  37
                ]
              },
              {
                "offset": 72,
                "opcode": 42
              },
              {
                "offset": 73,
                "opcode": 182,
                "member": [
                  "net/neoforged/neoforge/event/level/BlockEvent$EntityPlaceEvent",
                  "getLevel",
                  "()Lnet/minecraft/world/level/LevelAccessor;"
                ]
              },
              {
                "offset": 76,
                "opcode": 17,
                "constant": 1505
              },
              {
                "offset": 79,
                "opcode": 42
              },
              {
                "offset": 80,
                "opcode": 182,
                "member": [
                  "net/neoforged/neoforge/event/level/BlockEvent$EntityPlaceEvent",
                  "getPos",
                  "()Lnet/minecraft/core/BlockPos;"
                ]
              },
              {
                "offset": 83,
                "opcode": 3,
                "constant": 0
              },
              {
                "offset": 84,
                "opcode": 185,
                "member": [
                  "net/minecraft/world/level/LevelAccessor",
                  "levelEvent",
                  "(ILnet/minecraft/core/BlockPos;I)V"
                ]
              },
              {
                "offset": 89,
                "opcode": 43
              },
              {
                "offset": 90,
                "opcode": 43
              },
              {
                "offset": 91,
                "opcode": 182,
                "member": [
                  "net/minecraft/server/level/ServerPlayer",
                  "level",
                  "()Lnet/minecraft/world/level/Level;"
                ]
              },
              {
                "offset": 94,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/level/Level",
                  "damageSources",
                  "()Lnet/minecraft/world/damagesource/DamageSources;"
                ]
              },
              {
                "offset": 97,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/damagesource/DamageSources",
                  "generic",
                  "()Lnet/minecraft/world/damagesource/DamageSource;"
                ]
              },
              {
                "offset": 100,
                "opcode": 19,
                "constant": 16.0
              },
              {
                "offset": 103,
                "opcode": 182,
                "member": [
                  "net/minecraft/server/level/ServerPlayer",
                  "hurtArmor",
                  "(Lnet/minecraft/world/damagesource/DamageSource;F)V"
                ]
              },
              {
                "offset": 106,
                "opcode": 177
              }
            ]
          }
        ]
      },
      {
        "class_path": "net/tslat/aoa3/util/ItemUtil.class",
        "class_sha256": "592c51c9eee804ca05c20d2b89d56fa2af7cb0facf2739ab7c9cc6404a421008",
        "materials": [
          "NIGHTMARE"
        ],
        "methods": [
          {
            "name": "findAndConsumeRunes",
            "descriptor": "(Lit/unimi/dsi/fastutil/objects/Reference2IntMap;Lnet/minecraft/server/level/ServerPlayer;ZLnet/minecraft/world/item/ItemStack;)Z",
            "materials": [
              "NIGHTMARE"
            ],
            "code_hex": "2bb6003599000504acbb0089592ab7008b3a041c9900112bb2008eb8009499000704a700040336051904b6009ab9009e01003a061906b900a401009900241906b900a90100c000773a07190419071c2b2d1505ba00ad0000b600b157a7ffd81904b600b599000504acbb00b659b700b83a06bb0089591904b7008b3a072bb200b9b600bf3a082bb200c3b600bf3a091908b200c6b600cc99004a1908b600d03a0a1907190ab600d39900391907190ab600d7360b190602b900db020057150b1908b600e164360b150b9e00101907190a150bb600e557a7000b1907190ab600e9571907b600b59a00561909b200c6b600cc99004b1909b600d03a0a1907190ab600d399003a1907190ab600d7360b190610feb900db020057150b1909b600e164360b150b9e00101907190a150bb600e557a7000b1907190ab600e9571907b600b59a008103360a150a2bb600ecb600f0a200722bb600ec150ab600f53a0b190bb200c6b600cc990056190bb600d03a0c1907190cb600d39900451907190cb600d7360d1906150ab900db020057150d190bb600e164360d150d9e00101907190c150db600e557a7000b1907190cb600e9571907b600b5990006a70009840a01a7ff881907b600b599012d190602b900f802009900502bb200b9b600bf3a0a190ab600d03a0b1904190bb600d7360c150c190ab600e164360d190a150cb60020150d9d000e1904190bb600e957a7000d1904190b150db600e557190602b900fb020057190610feb900f802009900512bb200c3b600bf3a0a190ab600d03a0b1904190bb600d7360c150c190ab600e164360d190a150cb60020150d9d000e1904190bb600e957a7000d1904190b150db600e557190610feb900fb0200571906b900fe01003a0a190ab900a40100990066190ab900a90100c00101b60103360b2bb600ec150bb600f53a0c190cb600d03a0d1904190db600d7360e150e190cb600e164360f190c150eb60020150f9d000e1904190db600e957a7000d1904190d150fb600e5571904b600b5990006a70006a7ff9604ac03ac",
            "instructions": [
              {
                "offset": 0,
                "opcode": 43
              },
              {
                "offset": 1,
                "opcode": 182,
                "member": [
                  "net/minecraft/server/level/ServerPlayer",
                  "hasInfiniteMaterials",
                  "()Z"
                ]
              },
              {
                "offset": 4,
                "opcode": 153,
                "operands": [
                  0,
                  5
                ]
              },
              {
                "offset": 7,
                "opcode": 4,
                "constant": 1
              },
              {
                "offset": 8,
                "opcode": 172
              },
              {
                "offset": 9,
                "opcode": 187,
                "operands": [
                  0,
                  137
                ]
              },
              {
                "offset": 12,
                "opcode": 89
              },
              {
                "offset": 13,
                "opcode": 42
              },
              {
                "offset": 14,
                "opcode": 183,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "<init>",
                  "(Lit/unimi/dsi/fastutil/objects/Reference2IntMap;)V"
                ]
              },
              {
                "offset": 17,
                "opcode": 58,
                "operands": [
                  4
                ]
              },
              {
                "offset": 19,
                "opcode": 28
              },
              {
                "offset": 20,
                "opcode": 153,
                "operands": [
                  0,
                  17
                ]
              },
              {
                "offset": 23,
                "opcode": 43
              },
              {
                "offset": 24,
                "opcode": 178,
                "member": [
                  "net/tslat/aoa3/common/registration/item/AoAArmourMaterials",
                  "NIGHTMARE",
                  "Lnet/neoforged/neoforge/registries/DeferredHolder;"
                ]
              },
              {
                "offset": 27,
                "opcode": 184,
                "member": [
                  "net/tslat/aoa3/util/PlayerUtil",
                  "isWearingFullSet",
                  "(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/core/Holder;)Z"
                ]
              },
              {
                "offset": 30,
                "opcode": 153,
                "operands": [
                  0,
                  7
                ]
              },
              {
                "offset": 33,
                "opcode": 4,
                "constant": 1
              },
              {
                "offset": 34,
                "opcode": 167,
                "operands": [
                  0,
                  4
                ]
              },
              {
                "offset": 37,
                "opcode": 3,
                "constant": 0
              },
              {
                "offset": 38,
                "opcode": 54,
                "operands": [
                  5
                ]
              },
              {
                "offset": 40,
                "opcode": 25,
                "operands": [
                  4
                ]
              },
              {
                "offset": 42,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "keySet",
                  "()Lit/unimi/dsi/fastutil/objects/ReferenceSet;"
                ]
              },
              {
                "offset": 45,
                "opcode": 185,
                "member": [
                  "it/unimi/dsi/fastutil/objects/ReferenceSet",
                  "iterator",
                  "()Lit/unimi/dsi/fastutil/objects/ObjectIterator;"
                ]
              },
              {
                "offset": 50,
                "opcode": 58,
                "operands": [
                  6
                ]
              },
              {
                "offset": 52,
                "opcode": 25,
                "operands": [
                  6
                ]
              },
              {
                "offset": 54,
                "opcode": 185,
                "member": [
                  "java/util/Iterator",
                  "hasNext",
                  "()Z"
                ]
              },
              {
                "offset": 59,
                "opcode": 153,
                "operands": [
                  0,
                  36
                ]
              },
              {
                "offset": 62,
                "opcode": 25,
                "operands": [
                  6
                ]
              },
              {
                "offset": 64,
                "opcode": 185,
                "member": [
                  "java/util/Iterator",
                  "next",
                  "()Ljava/lang/Object;"
                ]
              },
              {
                "offset": 69,
                "opcode": 192,
                "operands": [
                  0,
                  119
                ]
              },
              {
                "offset": 72,
                "opcode": 58,
                "operands": [
                  7
                ]
              },
              {
                "offset": 74,
                "opcode": 25,
                "operands": [
                  4
                ]
              },
              {
                "offset": 76,
                "opcode": 25,
                "operands": [
                  7
                ]
              },
              {
                "offset": 78,
                "opcode": 28
              },
              {
                "offset": 79,
                "opcode": 43
              },
              {
                "offset": 80,
                "opcode": 45
              },
              {
                "offset": 81,
                "opcode": 21,
                "operands": [
                  5
                ]
              },
              {
                "offset": 83,
                "opcode": 186,
                "operands": [
                  0,
                  173,
                  0,
                  0
                ]
              },
              {
                "offset": 88,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "computeIntIfPresent",
                  "(Ljava/lang/Object;Ljava/util/function/BiFunction;)I"
                ]
              },
              {
                "offset": 91,
                "opcode": 87
              },
              {
                "offset": 92,
                "opcode": 167,
                "operands": [
                  255,
                  216
                ]
              },
              {
                "offset": 95,
                "opcode": 25,
                "operands": [
                  4
                ]
              },
              {
                "offset": 97,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "isEmpty",
                  "()Z"
                ]
              },
              {
                "offset": 100,
                "opcode": 153,
                "operands": [
                  0,
                  5
                ]
              },
              {
                "offset": 103,
                "opcode": 4,
                "constant": 1
              },
              {
                "offset": 104,
                "opcode": 172
              },
              {
                "offset": 105,
                "opcode": 187,
                "operands": [
                  0,
                  182
                ]
              },
              {
                "offset": 108,
                "opcode": 89
              },
              {
                "offset": 109,
                "opcode": 183,
                "member": [
                  "it/unimi/dsi/fastutil/ints/IntOpenHashSet",
                  "<init>",
                  "()V"
                ]
              },
              {
                "offset": 112,
                "opcode": 58,
                "operands": [
                  6
                ]
              },
              {
                "offset": 114,
                "opcode": 187,
                "operands": [
                  0,
                  137
                ]
              },
              {
                "offset": 117,
                "opcode": 89
              },
              {
                "offset": 118,
                "opcode": 25,
                "operands": [
                  4
                ]
              },
              {
                "offset": 120,
                "opcode": 183,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "<init>",
                  "(Lit/unimi/dsi/fastutil/objects/Reference2IntMap;)V"
                ]
              },
              {
                "offset": 123,
                "opcode": 58,
                "operands": [
                  7
                ]
              },
              {
                "offset": 125,
                "opcode": 43
              },
              {
                "offset": 126,
                "opcode": 178,
                "member": [
                  "net/minecraft/world/InteractionHand",
                  "MAIN_HAND",
                  "Lnet/minecraft/world/InteractionHand;"
                ]
              },
              {
                "offset": 129,
                "opcode": 182,
                "member": [
                  "net/minecraft/server/level/ServerPlayer",
                  "getItemInHand",
                  "(Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/item/ItemStack;"
                ]
              },
              {
                "offset": 132,
                "opcode": 58,
                "operands": [
                  8
                ]
              },
              {
                "offset": 134,
                "opcode": 43
              },
              {
                "offset": 135,
                "opcode": 178,
                "member": [
                  "net/minecraft/world/InteractionHand",
                  "OFF_HAND",
                  "Lnet/minecraft/world/InteractionHand;"
                ]
              },
              {
                "offset": 138,
                "opcode": 182,
                "member": [
                  "net/minecraft/server/level/ServerPlayer",
                  "getItemInHand",
                  "(Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/item/ItemStack;"
                ]
              },
              {
                "offset": 141,
                "opcode": 58,
                "operands": [
                  9
                ]
              },
              {
                "offset": 143,
                "opcode": 25,
                "operands": [
                  8
                ]
              },
              {
                "offset": 145,
                "opcode": 178,
                "member": [
                  "net/tslat/aoa3/common/registration/AoATags$Items",
                  "ADVENT_RUNE",
                  "Lnet/minecraft/tags/TagKey;"
                ]
              },
              {
                "offset": 148,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/item/ItemStack",
                  "is",
                  "(Lnet/minecraft/tags/TagKey;)Z"
                ]
              },
              {
                "offset": 151,
                "opcode": 153,
                "operands": [
                  0,
                  74
                ]
              },
              {
                "offset": 154,
                "opcode": 25,
                "operands": [
                  8
                ]
              },
              {
                "offset": 156,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/item/ItemStack",
                  "getItem",
                  "()Lnet/minecraft/world/item/Item;"
                ]
              },
              {
                "offset": 159,
                "opcode": 58,
                "operands": [
                  10
                ]
              },
              {
                "offset": 161,
                "opcode": 25,
                "operands": [
                  7
                ]
              },
              {
                "offset": 163,
                "opcode": 25,
                "operands": [
                  10
                ]
              },
              {
                "offset": 165,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "containsKey",
                  "(Ljava/lang/Object;)Z"
                ]
              },
              {
                "offset": 168,
                "opcode": 153,
                "operands": [
                  0,
                  57
                ]
              },
              {
                "offset": 171,
                "opcode": 25,
                "operands": [
                  7
                ]
              },
              {
                "offset": 173,
                "opcode": 25,
                "operands": [
                  10
                ]
              },
              {
                "offset": 175,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "getInt",
                  "(Ljava/lang/Object;)I"
                ]
              },
              {
                "offset": 178,
                "opcode": 54,
                "operands": [
                  11
                ]
              },
              {
                "offset": 180,
                "opcode": 25,
                "operands": [
                  6
                ]
              },
              {
                "offset": 182,
                "opcode": 2,
                "constant": -1
              },
              {
                "offset": 183,
                "opcode": 185,
                "member": [
                  "it/unimi/dsi/fastutil/ints/IntSet",
                  "add",
                  "(I)Z"
                ]
              },
              {
                "offset": 188,
                "opcode": 87
              },
              {
                "offset": 189,
                "opcode": 21,
                "operands": [
                  11
                ]
              },
              {
                "offset": 191,
                "opcode": 25,
                "operands": [
                  8
                ]
              },
              {
                "offset": 193,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/item/ItemStack",
                  "getCount",
                  "()I"
                ]
              },
              {
                "offset": 196,
                "opcode": 100
              },
              {
                "offset": 197,
                "opcode": 54,
                "operands": [
                  11
                ]
              },
              {
                "offset": 199,
                "opcode": 21,
                "operands": [
                  11
                ]
              },
              {
                "offset": 201,
                "opcode": 158,
                "operands": [
                  0,
                  16
                ]
              },
              {
                "offset": 204,
                "opcode": 25,
                "operands": [
                  7
                ]
              },
              {
                "offset": 206,
                "opcode": 25,
                "operands": [
                  10
                ]
              },
              {
                "offset": 208,
                "opcode": 21,
                "operands": [
                  11
                ]
              },
              {
                "offset": 210,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "put",
                  "(Ljava/lang/Object;I)I"
                ]
              },
              {
                "offset": 213,
                "opcode": 87
              },
              {
                "offset": 214,
                "opcode": 167,
                "operands": [
                  0,
                  11
                ]
              },
              {
                "offset": 217,
                "opcode": 25,
                "operands": [
                  7
                ]
              },
              {
                "offset": 219,
                "opcode": 25,
                "operands": [
                  10
                ]
              },
              {
                "offset": 221,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "removeInt",
                  "(Ljava/lang/Object;)I"
                ]
              },
              {
                "offset": 224,
                "opcode": 87
              },
              {
                "offset": 225,
                "opcode": 25,
                "operands": [
                  7
                ]
              },
              {
                "offset": 227,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "isEmpty",
                  "()Z"
                ]
              },
              {
                "offset": 230,
                "opcode": 154,
                "operands": [
                  0,
                  86
                ]
              },
              {
                "offset": 233,
                "opcode": 25,
                "operands": [
                  9
                ]
              },
              {
                "offset": 235,
                "opcode": 178,
                "member": [
                  "net/tslat/aoa3/common/registration/AoATags$Items",
                  "ADVENT_RUNE",
                  "Lnet/minecraft/tags/TagKey;"
                ]
              },
              {
                "offset": 238,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/item/ItemStack",
                  "is",
                  "(Lnet/minecraft/tags/TagKey;)Z"
                ]
              },
              {
                "offset": 241,
                "opcode": 153,
                "operands": [
                  0,
                  75
                ]
              },
              {
                "offset": 244,
                "opcode": 25,
                "operands": [
                  9
                ]
              },
              {
                "offset": 246,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/item/ItemStack",
                  "getItem",
                  "()Lnet/minecraft/world/item/Item;"
                ]
              },
              {
                "offset": 249,
                "opcode": 58,
                "operands": [
                  10
                ]
              },
              {
                "offset": 251,
                "opcode": 25,
                "operands": [
                  7
                ]
              },
              {
                "offset": 253,
                "opcode": 25,
                "operands": [
                  10
                ]
              },
              {
                "offset": 255,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "containsKey",
                  "(Ljava/lang/Object;)Z"
                ]
              },
              {
                "offset": 258,
                "opcode": 153,
                "operands": [
                  0,
                  58
                ]
              },
              {
                "offset": 261,
                "opcode": 25,
                "operands": [
                  7
                ]
              },
              {
                "offset": 263,
                "opcode": 25,
                "operands": [
                  10
                ]
              },
              {
                "offset": 265,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "getInt",
                  "(Ljava/lang/Object;)I"
                ]
              },
              {
                "offset": 268,
                "opcode": 54,
                "operands": [
                  11
                ]
              },
              {
                "offset": 270,
                "opcode": 25,
                "operands": [
                  6
                ]
              },
              {
                "offset": 272,
                "opcode": 16,
                "constant": -2
              },
              {
                "offset": 274,
                "opcode": 185,
                "member": [
                  "it/unimi/dsi/fastutil/ints/IntSet",
                  "add",
                  "(I)Z"
                ]
              },
              {
                "offset": 279,
                "opcode": 87
              },
              {
                "offset": 280,
                "opcode": 21,
                "operands": [
                  11
                ]
              },
              {
                "offset": 282,
                "opcode": 25,
                "operands": [
                  9
                ]
              },
              {
                "offset": 284,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/item/ItemStack",
                  "getCount",
                  "()I"
                ]
              },
              {
                "offset": 287,
                "opcode": 100
              },
              {
                "offset": 288,
                "opcode": 54,
                "operands": [
                  11
                ]
              },
              {
                "offset": 290,
                "opcode": 21,
                "operands": [
                  11
                ]
              },
              {
                "offset": 292,
                "opcode": 158,
                "operands": [
                  0,
                  16
                ]
              },
              {
                "offset": 295,
                "opcode": 25,
                "operands": [
                  7
                ]
              },
              {
                "offset": 297,
                "opcode": 25,
                "operands": [
                  10
                ]
              },
              {
                "offset": 299,
                "opcode": 21,
                "operands": [
                  11
                ]
              },
              {
                "offset": 301,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "put",
                  "(Ljava/lang/Object;I)I"
                ]
              },
              {
                "offset": 304,
                "opcode": 87
              },
              {
                "offset": 305,
                "opcode": 167,
                "operands": [
                  0,
                  11
                ]
              },
              {
                "offset": 308,
                "opcode": 25,
                "operands": [
                  7
                ]
              },
              {
                "offset": 310,
                "opcode": 25,
                "operands": [
                  10
                ]
              },
              {
                "offset": 312,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "removeInt",
                  "(Ljava/lang/Object;)I"
                ]
              },
              {
                "offset": 315,
                "opcode": 87
              },
              {
                "offset": 316,
                "opcode": 25,
                "operands": [
                  7
                ]
              },
              {
                "offset": 318,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "isEmpty",
                  "()Z"
                ]
              },
              {
                "offset": 321,
                "opcode": 154,
                "operands": [
                  0,
                  129
                ]
              },
              {
                "offset": 324,
                "opcode": 3,
                "constant": 0
              },
              {
                "offset": 325,
                "opcode": 54,
                "operands": [
                  10
                ]
              },
              {
                "offset": 327,
                "opcode": 21,
                "operands": [
                  10
                ]
              },
              {
                "offset": 329,
                "opcode": 43
              },
              {
                "offset": 330,
                "opcode": 182,
                "member": [
                  "net/minecraft/server/level/ServerPlayer",
                  "getInventory",
                  "()Lnet/minecraft/world/entity/player/Inventory;"
                ]
              },
              {
                "offset": 333,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/entity/player/Inventory",
                  "getContainerSize",
                  "()I"
                ]
              },
              {
                "offset": 336,
                "opcode": 162,
                "operands": [
                  0,
                  114
                ]
              },
              {
                "offset": 339,
                "opcode": 43
              },
              {
                "offset": 340,
                "opcode": 182,
                "member": [
                  "net/minecraft/server/level/ServerPlayer",
                  "getInventory",
                  "()Lnet/minecraft/world/entity/player/Inventory;"
                ]
              },
              {
                "offset": 343,
                "opcode": 21,
                "operands": [
                  10
                ]
              },
              {
                "offset": 345,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/entity/player/Inventory",
                  "getItem",
                  "(I)Lnet/minecraft/world/item/ItemStack;"
                ]
              },
              {
                "offset": 348,
                "opcode": 58,
                "operands": [
                  11
                ]
              },
              {
                "offset": 350,
                "opcode": 25,
                "operands": [
                  11
                ]
              },
              {
                "offset": 352,
                "opcode": 178,
                "member": [
                  "net/tslat/aoa3/common/registration/AoATags$Items",
                  "ADVENT_RUNE",
                  "Lnet/minecraft/tags/TagKey;"
                ]
              },
              {
                "offset": 355,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/item/ItemStack",
                  "is",
                  "(Lnet/minecraft/tags/TagKey;)Z"
                ]
              },
              {
                "offset": 358,
                "opcode": 153,
                "operands": [
                  0,
                  86
                ]
              },
              {
                "offset": 361,
                "opcode": 25,
                "operands": [
                  11
                ]
              },
              {
                "offset": 363,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/item/ItemStack",
                  "getItem",
                  "()Lnet/minecraft/world/item/Item;"
                ]
              },
              {
                "offset": 366,
                "opcode": 58,
                "operands": [
                  12
                ]
              },
              {
                "offset": 368,
                "opcode": 25,
                "operands": [
                  7
                ]
              },
              {
                "offset": 370,
                "opcode": 25,
                "operands": [
                  12
                ]
              },
              {
                "offset": 372,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "containsKey",
                  "(Ljava/lang/Object;)Z"
                ]
              },
              {
                "offset": 375,
                "opcode": 153,
                "operands": [
                  0,
                  69
                ]
              },
              {
                "offset": 378,
                "opcode": 25,
                "operands": [
                  7
                ]
              },
              {
                "offset": 380,
                "opcode": 25,
                "operands": [
                  12
                ]
              },
              {
                "offset": 382,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "getInt",
                  "(Ljava/lang/Object;)I"
                ]
              },
              {
                "offset": 385,
                "opcode": 54,
                "operands": [
                  13
                ]
              },
              {
                "offset": 387,
                "opcode": 25,
                "operands": [
                  6
                ]
              },
              {
                "offset": 389,
                "opcode": 21,
                "operands": [
                  10
                ]
              },
              {
                "offset": 391,
                "opcode": 185,
                "member": [
                  "it/unimi/dsi/fastutil/ints/IntSet",
                  "add",
                  "(I)Z"
                ]
              },
              {
                "offset": 396,
                "opcode": 87
              },
              {
                "offset": 397,
                "opcode": 21,
                "operands": [
                  13
                ]
              },
              {
                "offset": 399,
                "opcode": 25,
                "operands": [
                  11
                ]
              },
              {
                "offset": 401,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/item/ItemStack",
                  "getCount",
                  "()I"
                ]
              },
              {
                "offset": 404,
                "opcode": 100
              },
              {
                "offset": 405,
                "opcode": 54,
                "operands": [
                  13
                ]
              },
              {
                "offset": 407,
                "opcode": 21,
                "operands": [
                  13
                ]
              },
              {
                "offset": 409,
                "opcode": 158,
                "operands": [
                  0,
                  16
                ]
              },
              {
                "offset": 412,
                "opcode": 25,
                "operands": [
                  7
                ]
              },
              {
                "offset": 414,
                "opcode": 25,
                "operands": [
                  12
                ]
              },
              {
                "offset": 416,
                "opcode": 21,
                "operands": [
                  13
                ]
              },
              {
                "offset": 418,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "put",
                  "(Ljava/lang/Object;I)I"
                ]
              },
              {
                "offset": 421,
                "opcode": 87
              },
              {
                "offset": 422,
                "opcode": 167,
                "operands": [
                  0,
                  11
                ]
              },
              {
                "offset": 425,
                "opcode": 25,
                "operands": [
                  7
                ]
              },
              {
                "offset": 427,
                "opcode": 25,
                "operands": [
                  12
                ]
              },
              {
                "offset": 429,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "removeInt",
                  "(Ljava/lang/Object;)I"
                ]
              },
              {
                "offset": 432,
                "opcode": 87
              },
              {
                "offset": 433,
                "opcode": 25,
                "operands": [
                  7
                ]
              },
              {
                "offset": 435,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "isEmpty",
                  "()Z"
                ]
              },
              {
                "offset": 438,
                "opcode": 153,
                "operands": [
                  0,
                  6
                ]
              },
              {
                "offset": 441,
                "opcode": 167,
                "operands": [
                  0,
                  9
                ]
              },
              {
                "offset": 444,
                "opcode": 132,
                "operands": [
                  10,
                  1
                ]
              },
              {
                "offset": 447,
                "opcode": 167,
                "operands": [
                  255,
                  136
                ]
              },
              {
                "offset": 450,
                "opcode": 25,
                "operands": [
                  7
                ]
              },
              {
                "offset": 452,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "isEmpty",
                  "()Z"
                ]
              },
              {
                "offset": 455,
                "opcode": 153,
                "operands": [
                  1,
                  45
                ]
              },
              {
                "offset": 458,
                "opcode": 25,
                "operands": [
                  6
                ]
              },
              {
                "offset": 460,
                "opcode": 2,
                "constant": -1
              },
              {
                "offset": 461,
                "opcode": 185,
                "member": [
                  "it/unimi/dsi/fastutil/ints/IntSet",
                  "contains",
                  "(I)Z"
                ]
              },
              {
                "offset": 466,
                "opcode": 153,
                "operands": [
                  0,
                  80
                ]
              },
              {
                "offset": 469,
                "opcode": 43
              },
              {
                "offset": 470,
                "opcode": 178,
                "member": [
                  "net/minecraft/world/InteractionHand",
                  "MAIN_HAND",
                  "Lnet/minecraft/world/InteractionHand;"
                ]
              },
              {
                "offset": 473,
                "opcode": 182,
                "member": [
                  "net/minecraft/server/level/ServerPlayer",
                  "getItemInHand",
                  "(Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/item/ItemStack;"
                ]
              },
              {
                "offset": 476,
                "opcode": 58,
                "operands": [
                  10
                ]
              },
              {
                "offset": 478,
                "opcode": 25,
                "operands": [
                  10
                ]
              },
              {
                "offset": 480,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/item/ItemStack",
                  "getItem",
                  "()Lnet/minecraft/world/item/Item;"
                ]
              },
              {
                "offset": 483,
                "opcode": 58,
                "operands": [
                  11
                ]
              },
              {
                "offset": 485,
                "opcode": 25,
                "operands": [
                  4
                ]
              },
              {
                "offset": 487,
                "opcode": 25,
                "operands": [
                  11
                ]
              },
              {
                "offset": 489,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "getInt",
                  "(Ljava/lang/Object;)I"
                ]
              },
              {
                "offset": 492,
                "opcode": 54,
                "operands": [
                  12
                ]
              },
              {
                "offset": 494,
                "opcode": 21,
                "operands": [
                  12
                ]
              },
              {
                "offset": 496,
                "opcode": 25,
                "operands": [
                  10
                ]
              },
              {
                "offset": 498,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/item/ItemStack",
                  "getCount",
                  "()I"
                ]
              },
              {
                "offset": 501,
                "opcode": 100
              },
              {
                "offset": 502,
                "opcode": 54,
                "operands": [
                  13
                ]
              },
              {
                "offset": 504,
                "opcode": 25,
                "operands": [
                  10
                ]
              },
              {
                "offset": 506,
                "opcode": 21,
                "operands": [
                  12
                ]
              },
              {
                "offset": 508,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/item/ItemStack",
                  "shrink",
                  "(I)V"
                ]
              },
              {
                "offset": 511,
                "opcode": 21,
                "operands": [
                  13
                ]
              },
              {
                "offset": 513,
                "opcode": 157,
                "operands": [
                  0,
                  14
                ]
              },
              {
                "offset": 516,
                "opcode": 25,
                "operands": [
                  4
                ]
              },
              {
                "offset": 518,
                "opcode": 25,
                "operands": [
                  11
                ]
              },
              {
                "offset": 520,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "removeInt",
                  "(Ljava/lang/Object;)I"
                ]
              },
              {
                "offset": 523,
                "opcode": 87
              },
              {
                "offset": 524,
                "opcode": 167,
                "operands": [
                  0,
                  13
                ]
              },
              {
                "offset": 527,
                "opcode": 25,
                "operands": [
                  4
                ]
              },
              {
                "offset": 529,
                "opcode": 25,
                "operands": [
                  11
                ]
              },
              {
                "offset": 531,
                "opcode": 21,
                "operands": [
                  13
                ]
              },
              {
                "offset": 533,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "put",
                  "(Ljava/lang/Object;I)I"
                ]
              },
              {
                "offset": 536,
                "opcode": 87
              },
              {
                "offset": 537,
                "opcode": 25,
                "operands": [
                  6
                ]
              },
              {
                "offset": 539,
                "opcode": 2,
                "constant": -1
              },
              {
                "offset": 540,
                "opcode": 185,
                "member": [
                  "it/unimi/dsi/fastutil/ints/IntSet",
                  "remove",
                  "(I)Z"
                ]
              },
              {
                "offset": 545,
                "opcode": 87
              },
              {
                "offset": 546,
                "opcode": 25,
                "operands": [
                  6
                ]
              },
              {
                "offset": 548,
                "opcode": 16,
                "constant": -2
              },
              {
                "offset": 550,
                "opcode": 185,
                "member": [
                  "it/unimi/dsi/fastutil/ints/IntSet",
                  "contains",
                  "(I)Z"
                ]
              },
              {
                "offset": 555,
                "opcode": 153,
                "operands": [
                  0,
                  81
                ]
              },
              {
                "offset": 558,
                "opcode": 43
              },
              {
                "offset": 559,
                "opcode": 178,
                "member": [
                  "net/minecraft/world/InteractionHand",
                  "OFF_HAND",
                  "Lnet/minecraft/world/InteractionHand;"
                ]
              },
              {
                "offset": 562,
                "opcode": 182,
                "member": [
                  "net/minecraft/server/level/ServerPlayer",
                  "getItemInHand",
                  "(Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/item/ItemStack;"
                ]
              },
              {
                "offset": 565,
                "opcode": 58,
                "operands": [
                  10
                ]
              },
              {
                "offset": 567,
                "opcode": 25,
                "operands": [
                  10
                ]
              },
              {
                "offset": 569,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/item/ItemStack",
                  "getItem",
                  "()Lnet/minecraft/world/item/Item;"
                ]
              },
              {
                "offset": 572,
                "opcode": 58,
                "operands": [
                  11
                ]
              },
              {
                "offset": 574,
                "opcode": 25,
                "operands": [
                  4
                ]
              },
              {
                "offset": 576,
                "opcode": 25,
                "operands": [
                  11
                ]
              },
              {
                "offset": 578,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "getInt",
                  "(Ljava/lang/Object;)I"
                ]
              },
              {
                "offset": 581,
                "opcode": 54,
                "operands": [
                  12
                ]
              },
              {
                "offset": 583,
                "opcode": 21,
                "operands": [
                  12
                ]
              },
              {
                "offset": 585,
                "opcode": 25,
                "operands": [
                  10
                ]
              },
              {
                "offset": 587,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/item/ItemStack",
                  "getCount",
                  "()I"
                ]
              },
              {
                "offset": 590,
                "opcode": 100
              },
              {
                "offset": 591,
                "opcode": 54,
                "operands": [
                  13
                ]
              },
              {
                "offset": 593,
                "opcode": 25,
                "operands": [
                  10
                ]
              },
              {
                "offset": 595,
                "opcode": 21,
                "operands": [
                  12
                ]
              },
              {
                "offset": 597,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/item/ItemStack",
                  "shrink",
                  "(I)V"
                ]
              },
              {
                "offset": 600,
                "opcode": 21,
                "operands": [
                  13
                ]
              },
              {
                "offset": 602,
                "opcode": 157,
                "operands": [
                  0,
                  14
                ]
              },
              {
                "offset": 605,
                "opcode": 25,
                "operands": [
                  4
                ]
              },
              {
                "offset": 607,
                "opcode": 25,
                "operands": [
                  11
                ]
              },
              {
                "offset": 609,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "removeInt",
                  "(Ljava/lang/Object;)I"
                ]
              },
              {
                "offset": 612,
                "opcode": 87
              },
              {
                "offset": 613,
                "opcode": 167,
                "operands": [
                  0,
                  13
                ]
              },
              {
                "offset": 616,
                "opcode": 25,
                "operands": [
                  4
                ]
              },
              {
                "offset": 618,
                "opcode": 25,
                "operands": [
                  11
                ]
              },
              {
                "offset": 620,
                "opcode": 21,
                "operands": [
                  13
                ]
              },
              {
                "offset": 622,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "put",
                  "(Ljava/lang/Object;I)I"
                ]
              },
              {
                "offset": 625,
                "opcode": 87
              },
              {
                "offset": 626,
                "opcode": 25,
                "operands": [
                  6
                ]
              },
              {
                "offset": 628,
                "opcode": 16,
                "constant": -2
              },
              {
                "offset": 630,
                "opcode": 185,
                "member": [
                  "it/unimi/dsi/fastutil/ints/IntSet",
                  "remove",
                  "(I)Z"
                ]
              },
              {
                "offset": 635,
                "opcode": 87
              },
              {
                "offset": 636,
                "opcode": 25,
                "operands": [
                  6
                ]
              },
              {
                "offset": 638,
                "opcode": 185,
                "member": [
                  "it/unimi/dsi/fastutil/ints/IntSet",
                  "iterator",
                  "()Lit/unimi/dsi/fastutil/ints/IntIterator;"
                ]
              },
              {
                "offset": 643,
                "opcode": 58,
                "operands": [
                  10
                ]
              },
              {
                "offset": 645,
                "opcode": 25,
                "operands": [
                  10
                ]
              },
              {
                "offset": 647,
                "opcode": 185,
                "member": [
                  "java/util/Iterator",
                  "hasNext",
                  "()Z"
                ]
              },
              {
                "offset": 652,
                "opcode": 153,
                "operands": [
                  0,
                  102
                ]
              },
              {
                "offset": 655,
                "opcode": 25,
                "operands": [
                  10
                ]
              },
              {
                "offset": 657,
                "opcode": 185,
                "member": [
                  "java/util/Iterator",
                  "next",
                  "()Ljava/lang/Object;"
                ]
              },
              {
                "offset": 662,
                "opcode": 192,
                "operands": [
                  1,
                  1
                ]
              },
              {
                "offset": 665,
                "opcode": 182,
                "member": [
                  "java/lang/Integer",
                  "intValue",
                  "()I"
                ]
              },
              {
                "offset": 668,
                "opcode": 54,
                "operands": [
                  11
                ]
              },
              {
                "offset": 670,
                "opcode": 43
              },
              {
                "offset": 671,
                "opcode": 182,
                "member": [
                  "net/minecraft/server/level/ServerPlayer",
                  "getInventory",
                  "()Lnet/minecraft/world/entity/player/Inventory;"
                ]
              },
              {
                "offset": 674,
                "opcode": 21,
                "operands": [
                  11
                ]
              },
              {
                "offset": 676,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/entity/player/Inventory",
                  "getItem",
                  "(I)Lnet/minecraft/world/item/ItemStack;"
                ]
              },
              {
                "offset": 679,
                "opcode": 58,
                "operands": [
                  12
                ]
              },
              {
                "offset": 681,
                "opcode": 25,
                "operands": [
                  12
                ]
              },
              {
                "offset": 683,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/item/ItemStack",
                  "getItem",
                  "()Lnet/minecraft/world/item/Item;"
                ]
              },
              {
                "offset": 686,
                "opcode": 58,
                "operands": [
                  13
                ]
              },
              {
                "offset": 688,
                "opcode": 25,
                "operands": [
                  4
                ]
              },
              {
                "offset": 690,
                "opcode": 25,
                "operands": [
                  13
                ]
              },
              {
                "offset": 692,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "getInt",
                  "(Ljava/lang/Object;)I"
                ]
              },
              {
                "offset": 695,
                "opcode": 54,
                "operands": [
                  14
                ]
              },
              {
                "offset": 697,
                "opcode": 21,
                "operands": [
                  14
                ]
              },
              {
                "offset": 699,
                "opcode": 25,
                "operands": [
                  12
                ]
              },
              {
                "offset": 701,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/item/ItemStack",
                  "getCount",
                  "()I"
                ]
              },
              {
                "offset": 704,
                "opcode": 100
              },
              {
                "offset": 705,
                "opcode": 54,
                "operands": [
                  15
                ]
              },
              {
                "offset": 707,
                "opcode": 25,
                "operands": [
                  12
                ]
              },
              {
                "offset": 709,
                "opcode": 21,
                "operands": [
                  14
                ]
              },
              {
                "offset": 711,
                "opcode": 182,
                "member": [
                  "net/minecraft/world/item/ItemStack",
                  "shrink",
                  "(I)V"
                ]
              },
              {
                "offset": 714,
                "opcode": 21,
                "operands": [
                  15
                ]
              },
              {
                "offset": 716,
                "opcode": 157,
                "operands": [
                  0,
                  14
                ]
              },
              {
                "offset": 719,
                "opcode": 25,
                "operands": [
                  4
                ]
              },
              {
                "offset": 721,
                "opcode": 25,
                "operands": [
                  13
                ]
              },
              {
                "offset": 723,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "removeInt",
                  "(Ljava/lang/Object;)I"
                ]
              },
              {
                "offset": 726,
                "opcode": 87
              },
              {
                "offset": 727,
                "opcode": 167,
                "operands": [
                  0,
                  13
                ]
              },
              {
                "offset": 730,
                "opcode": 25,
                "operands": [
                  4
                ]
              },
              {
                "offset": 732,
                "opcode": 25,
                "operands": [
                  13
                ]
              },
              {
                "offset": 734,
                "opcode": 21,
                "operands": [
                  15
                ]
              },
              {
                "offset": 736,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "put",
                  "(Ljava/lang/Object;I)I"
                ]
              },
              {
                "offset": 739,
                "opcode": 87
              },
              {
                "offset": 740,
                "opcode": 25,
                "operands": [
                  4
                ]
              },
              {
                "offset": 742,
                "opcode": 182,
                "member": [
                  "it/unimi/dsi/fastutil/objects/Reference2IntOpenHashMap",
                  "isEmpty",
                  "()Z"
                ]
              },
              {
                "offset": 745,
                "opcode": 153,
                "operands": [
                  0,
                  6
                ]
              },
              {
                "offset": 748,
                "opcode": 167,
                "operands": [
                  0,
                  6
                ]
              },
              {
                "offset": 751,
                "opcode": 167,
                "operands": [
                  255,
                  150
                ]
              },
              {
                "offset": 754,
                "opcode": 4,
                "constant": 1
              },
              {
                "offset": 755,
                "opcode": 172
              },
              {
                "offset": 756,
                "opcode": 3,
                "constant": 0
              },
              {
                "offset": 757,
                "opcode": 172
              }
            ]
          }
        ]
      }
    ]
  }
}
