Compiled from "SACombatClientForgeEvents.java"
public final class com.ogaba.sa_combat.client.event.SACombatClientForgeEvents {
  private static final net.minecraft.resources.ResourceLocation BALLISTIC_VEST_BG;

  private static final net.minecraft.resources.ResourceLocation BALLISTIC_VEST_FILL;

  private static final net.minecraft.resources.ResourceLocation GRENADE_FUSE_FRAME;

  private static final net.minecraft.resources.ResourceLocation GRENADE_FUSE_FILL;

  private static final int GRENADE_FUSE_FRAME_WIDTH;

  private static final int GRENADE_FUSE_FRAME_HEIGHT;

  private static final int GRENADE_FUSE_FILL_OFFSET_X;

  private static final int GRENADE_FUSE_FILL_OFFSET_Y;

  private static final int GRENADE_FUSE_FILL_WIDTH;

  private static final int GRENADE_FUSE_FILL_HEIGHT;

  private static final int GRENADE_FUSE_CROSSHAIR_OFFSET_Y;

  private static final net.minecraft.resources.ResourceLocation VANILLA_SPYGLASS_SCOPE;

  private static float tacticalScopeProgress;

  private static java.lang.reflect.Method renderSpyglassOverlayMethod;

  private static final float SCOPE_OPEN_SMOOTH;

  private static final float SCOPE_CLOSE_SMOOTH;

  private static final int BALLISTIC_ICON_W;

  private static final int BALLISTIC_ICON_H;

  private static final int BALLISTIC_RENDER_W;

  private static final int BALLISTIC_RENDER_H;

  private static final int BALLISTIC_MARGIN_LEFT;

  private static final int BALLISTIC_MARGIN_BOTTOM;

  private static final net.minecraft.resources.ResourceLocation NAIL_ITEM_ID;

  private static final int AMMO_ICON_SIZE;

  private static final int AMMO_MARGIN_RIGHT;

  private static final int AMMO_MARGIN_BOTTOM;

  private static final int AMMO_ICON_GAP;

  private static boolean nailGunTriggerWasDown;

  private static float nailGunAutoFireAccumulator;

  private static long thirdPersonNailGunStackId;

  private static boolean thirdPersonNailGunReloadWasActive;

  private static int cachedInventoryPlayerId;

  private static int cachedInventoryTick;

  private static int cachedNailReserve;

  private static int cachedTacticalBoltReserve;

  private static int cachedImprovisedBoltReserve;

  private static boolean nailIconResolved;

  private static net.minecraft.world.item.ItemStack cachedNailIcon;

  private static net.minecraft.world.item.ItemStack cachedTacticalBoltIcon;

  private static net.minecraft.world.item.ItemStack cachedImprovisedBoltIcon;

  private static boolean crossbowCycleWasDown;

  private com.ogaba.sa_combat.client.event.SACombatClientForgeEvents();
    Code:
       0: aload_0
       1: invokespecial #133                // Method java/lang/Object."<init>":()V
       4: return

  public static void onRenderHand(net.minecraftforge.client.event.RenderHandEvent);
    Code:
       0: invokestatic  #144                // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft;
       3: astore_1
       4: aload_1
       5: getfield      #148                // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
       8: astore_2
       9: aload_2
      10: ifnonnull     14
      13: return
      14: aload_2
      15: invokevirtual #154                // Method net/minecraft/world/entity/player/Player.m_21205_:()Lnet/minecraft/world/item/ItemStack;
      18: astore_3
      19: aload_2
      20: invokevirtual #157                // Method net/minecraft/world/entity/player/Player.m_21206_:()Lnet/minecraft/world/item/ItemStack;
      23: astore        4
      25: aload_3
      26: invokevirtual #163                // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
      29: instanceof    #165                // class com/ogaba/sa_combat/item/SpecialGrenadeItem
      32: istore        5
      34: aload         4
      36: invokevirtual #163                // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
      39: instanceof    #165                // class com/ogaba/sa_combat/item/SpecialGrenadeItem
      42: istore        6
      44: aload_3
      45: invokevirtual #163                // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
      48: instanceof    #167                // class com/ogaba/sa_combat/combat/weapon/NailGunItem
      51: istore        7
      53: aload         4
      55: invokevirtual #163                // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
      58: instanceof    #167                // class com/ogaba/sa_combat/combat/weapon/NailGunItem
      61: istore        8
      63: iload         5
      65: ifne          84
      68: iload         6
      70: ifne          84
      73: iload         7
      75: ifne          84
      78: iload         8
      80: ifne          84
      83: return
      84: aload_0
      85: invokevirtual #173                // Method net/minecraftforge/client/event/RenderHandEvent.getHand:()Lnet/minecraft/world/InteractionHand;
      88: getstatic     #179                // Field net/minecraft/world/InteractionHand.MAIN_HAND:Lnet/minecraft/world/InteractionHand;
      91: if_acmpne     128
      94: iload         5
      96: ifeq          109
      99: aload_0
     100: aload_2
     101: ldc           #180                // float 0.35f
     103: invokestatic  #184                // Method applyRetainedVanillaViewBob:(Lnet/minecraftforge/client/event/RenderHandEvent;Lnet/minecraft/world/entity/player/Player;F)V
     106: goto          128
     109: iload         7
     111: ifeq          128
     114: fconst_1
     115: invokestatic  #190                // Method com/ogaba/sa_combat/client/render/NailGunAimClient.getProgress:()F
     118: fsub
     119: fstore        9
     121: aload_0
     122: aload_2
     123: fload         9
     125: invokestatic  #184                // Method applyRetainedVanillaViewBob:(Lnet/minecraftforge/client/event/RenderHandEvent;Lnet/minecraft/world/entity/player/Player;F)V
     128: aload_0
     129: invokevirtual #173                // Method net/minecraftforge/client/event/RenderHandEvent.getHand:()Lnet/minecraft/world/InteractionHand;
     132: getstatic     #193                // Field net/minecraft/world/InteractionHand.OFF_HAND:Lnet/minecraft/world/InteractionHand;
     135: if_acmpne     143
     138: aload_0
     139: iconst_1
     140: invokevirtual #197                // Method net/minecraftforge/client/event/RenderHandEvent.setCanceled:(Z)V
     143: return

  private static void applyRetainedVanillaViewBob(net.minecraftforge.client.event.RenderHandEvent, net.minecraft.world.entity.player.Player, float);
    Code:
       0: invokestatic  #144                // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft;
       3: astore_3
       4: aload_3
       5: getfield      #214                // Field net/minecraft/client/Minecraft.f_91066_:Lnet/minecraft/client/Options;
       8: invokevirtual #220                // Method net/minecraft/client/Options.m_231830_:()Lnet/minecraft/client/OptionInstance;
      11: invokevirtual #226                // Method net/minecraft/client/OptionInstance.m_231551_:()Ljava/lang/Object;
      14: checkcast     #228                // class java/lang/Boolean
      17: invokevirtual #232                // Method java/lang/Boolean.booleanValue:()Z
      20: ifne          24
      23: return
      24: fload_2
      25: fconst_0
      26: fconst_1
      27: invokestatic  #238                // Method net/minecraft/util/Mth.m_14036_:(FFF)F
      30: fstore_2
      31: aload_0
      32: invokevirtual #241                // Method net/minecraftforge/client/event/RenderHandEvent.getPartialTick:()F
      35: fstore        4
      37: aload_1
      38: getfield      #244                // Field net/minecraft/world/entity/player/Player.f_19787_:F
      41: aload_1
      42: getfield      #247                // Field net/minecraft/world/entity/player/Player.f_19867_:F
      45: fsub
      46: fstore        5
      48: aload_1
      49: getfield      #244                // Field net/minecraft/world/entity/player/Player.f_19787_:F
      52: fload         5
      54: fload         4
      56: fmul
      57: fadd
      58: fneg
      59: fstore        6
      61: fload         4
      63: aload_1
      64: getfield      #250                // Field net/minecraft/world/entity/player/Player.f_36099_:F
      67: aload_1
      68: getfield      #253                // Field net/minecraft/world/entity/player/Player.f_36100_:F
      71: invokestatic  #256                // Method net/minecraft/util/Mth.m_14179_:(FFF)F
      74: fstore        7
      76: fload         6
      78: ldc_w         #257                // float 3.1415927f
      81: fmul
      82: invokestatic  #261                // Method net/minecraft/util/Mth.m_14031_:(F)F
      85: fload         7
      87: fmul
      88: ldc_w         #262                // float 0.5f
      91: fmul
      92: fstore        8
      94: fload         6
      96: ldc_w         #257                // float 3.1415927f
      99: fmul
     100: invokestatic  #265                // Method net/minecraft/util/Mth.m_14089_:(F)F
     103: fload         7
     105: fmul
     106: invokestatic  #270                // Method java/lang/Math.abs:(F)F
     109: fneg
     110: fstore        9
     112: fload         6
     114: ldc_w         #257                // float 3.1415927f
     117: fmul
     118: invokestatic  #261                // Method net/minecraft/util/Mth.m_14031_:(F)F
     121: fload         7
     123: fmul
     124: ldc_w         #271                // float 3.0f
     127: fmul
     128: fstore        10
     130: fload         6
     132: ldc_w         #257                // float 3.1415927f
     135: fmul
     136: ldc_w         #272                // float 0.2f
     139: fsub
     140: invokestatic  #265                // Method net/minecraft/util/Mth.m_14089_:(F)F
     143: fload         7
     145: fmul
     146: invokestatic  #270                // Method java/lang/Math.abs:(F)F
     149: ldc_w         #273                // float 5.0f
     152: fmul
     153: fstore        11
     155: aload_0
     156: invokevirtual #277                // Method net/minecraftforge/client/event/RenderHandEvent.getPoseStack:()Lcom/mojang/blaze3d/vertex/PoseStack;
     159: astore        12
     161: aload         12
     163: getstatic     #283                // Field com/mojang/math/Axis.f_252529_:Lcom/mojang/math/Axis;
     166: fload         11
     168: fneg
     169: invokeinterface #287,  2          // InterfaceMethod com/mojang/math/Axis.m_252977_:(F)Lorg/joml/Quaternionf;
     174: invokevirtual #293                // Method com/mojang/blaze3d/vertex/PoseStack.m_252781_:(Lorg/joml/Quaternionf;)V
     177: aload         12
     179: getstatic     #296                // Field com/mojang/math/Axis.f_252403_:Lcom/mojang/math/Axis;
     182: fload         10
     184: fneg
     185: invokeinterface #287,  2          // InterfaceMethod com/mojang/math/Axis.m_252977_:(F)Lorg/joml/Quaternionf;
     190: invokevirtual #293                // Method com/mojang/blaze3d/vertex/PoseStack.m_252781_:(Lorg/joml/Quaternionf;)V
     193: aload         12
     195: fload         8
     197: fneg
     198: f2d
     199: fload         9
     201: fneg
     202: f2d
     203: dconst_0
     204: invokevirtual #300                // Method com/mojang/blaze3d/vertex/PoseStack.m_85837_:(DDD)V
     207: aload         12
     209: fload         8
     211: fload_2
     212: fmul
     213: f2d
     214: fload         9
     216: fload_2
     217: fmul
     218: f2d
     219: dconst_0
     220: invokevirtual #300                // Method com/mojang/blaze3d/vertex/PoseStack.m_85837_:(DDD)V
     223: aload         12
     225: getstatic     #296                // Field com/mojang/math/Axis.f_252403_:Lcom/mojang/math/Axis;
     228: fload         10
     230: fload_2
     231: fmul
     232: invokeinterface #287,  2          // InterfaceMethod com/mojang/math/Axis.m_252977_:(F)Lorg/joml/Quaternionf;
     237: invokevirtual #293                // Method com/mojang/blaze3d/vertex/PoseStack.m_252781_:(Lorg/joml/Quaternionf;)V
     240: aload         12
     242: getstatic     #283                // Field com/mojang/math/Axis.f_252529_:Lcom/mojang/math/Axis;
     245: fload         11
     247: fload_2
     248: fmul
     249: invokeinterface #287,  2          // InterfaceMethod com/mojang/math/Axis.m_252977_:(F)Lorg/joml/Quaternionf;
     254: invokevirtual #293                // Method com/mojang/blaze3d/vertex/PoseStack.m_252781_:(Lorg/joml/Quaternionf;)V
     257: return

  public static void onClientTick(net.minecraftforge.event.TickEvent$ClientTickEvent);
    Code:
       0: aload_0
       1: getfield      #317                // Field net/minecraftforge/event/TickEvent$ClientTickEvent.phase:Lnet/minecraftforge/event/TickEvent$Phase;
       4: getstatic     #320                // Field net/minecraftforge/event/TickEvent$Phase.END:Lnet/minecraftforge/event/TickEvent$Phase;
       7: if_acmpne     28
      10: invokestatic  #325                // Method com/ogaba/sa_combat/client/sound/ChainsawSoundManager.tick:()V
      13: invokestatic  #326                // Method com/ogaba/sa_combat/client/render/NailGunAimClient.tick:()V
      16: invokestatic  #329                // Method tickNailGunThirdPersonSounds:()V
      19: invokestatic  #332                // Method tickNailGunTrigger:()V
      22: invokestatic  #335                // Method tickNailGunReloadKey:()V
      25: invokestatic  #338                // Method tickCrossbowAmmoCycle:()V
      28: return

  public static void onRenderPlayerPre(net.minecraftforge.client.event.RenderPlayerEvent$Pre);
    Code:
       0: invokestatic  #144                // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft;
       3: getfield      #148                // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
       6: astore_1
       7: aload_1
       8: ifnull        19
      11: aload_0
      12: invokevirtual #345                // Method net/minecraftforge/client/event/RenderPlayerEvent$Pre.getEntity:()Lnet/minecraft/world/entity/player/Player;
      15: aload_1
      16: if_acmpeq     20
      19: return
      20: aload_1
      21: invokevirtual #348                // Method net/minecraft/client/player/AbstractClientPlayer.m_21205_:()Lnet/minecraft/world/item/ItemStack;
      24: astore_2
      25: aload_2
      26: invokevirtual #163                // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
      29: instanceof    #167                // class com/ogaba/sa_combat/combat/weapon/NailGunItem
      32: ifne          36
      35: return
      36: invokestatic  #190                // Method com/ogaba/sa_combat/client/render/NailGunAimClient.getProgress:()F
      39: ldc_w         #349                // float 0.01f
      42: fcmpl
      43: ifgt          53
      46: aload_1
      47: invokevirtual #352                // Method net/minecraft/client/player/AbstractClientPlayer.m_6117_:()Z
      50: ifeq          57
      53: iconst_1
      54: goto          58
      57: iconst_0
      58: istore_3
      59: iload_3
      60: ifne          64
      63: return
      64: aload_0
      65: invokevirtual #356                // Method net/minecraftforge/client/event/RenderPlayerEvent$Pre.getRenderer:()Lnet/minecraft/client/renderer/entity/player/PlayerRenderer;
      68: invokevirtual #362                // Method net/minecraft/client/renderer/entity/player/PlayerRenderer.m_7200_:()Lnet/minecraft/client/model/EntityModel;
      71: checkcast     #364                // class net/minecraft/client/model/PlayerModel
      74: astore        4
      76: aload_1
      77: invokevirtual #368                // Method net/minecraft/client/player/AbstractClientPlayer.m_5737_:()Lnet/minecraft/world/entity/HumanoidArm;
      80: astore        5
      82: aload         5
      84: getstatic     #374                // Field net/minecraft/world/entity/HumanoidArm.RIGHT:Lnet/minecraft/world/entity/HumanoidArm;
      87: if_acmpne     109
      90: aload         4
      92: getstatic     #380                // Field com/ogaba/sa_combat/client/SACombatArmPoses.NAIL_GUN_AIM:Lnet/minecraft/client/model/HumanoidModel$ArmPose;
      95: putfield      #383                // Field net/minecraft/client/model/PlayerModel.f_102816_:Lnet/minecraft/client/model/HumanoidModel$ArmPose;
      98: aload         4
     100: getstatic     #386                // Field net/minecraft/client/model/HumanoidModel$ArmPose.ITEM:Lnet/minecraft/client/model/HumanoidModel$ArmPose;
     103: putfield      #389                // Field net/minecraft/client/model/PlayerModel.f_102815_:Lnet/minecraft/client/model/HumanoidModel$ArmPose;
     106: goto          125
     109: aload         4
     111: getstatic     #380                // Field com/ogaba/sa_combat/client/SACombatArmPoses.NAIL_GUN_AIM:Lnet/minecraft/client/model/HumanoidModel$ArmPose;
     114: putfield      #389                // Field net/minecraft/client/model/PlayerModel.f_102815_:Lnet/minecraft/client/model/HumanoidModel$ArmPose;
     117: aload         4
     119: getstatic     #386                // Field net/minecraft/client/model/HumanoidModel$ArmPose.ITEM:Lnet/minecraft/client/model/HumanoidModel$ArmPose;
     122: putfield      #383                // Field net/minecraft/client/model/PlayerModel.f_102816_:Lnet/minecraft/client/model/HumanoidModel$ArmPose;
     125: return

  public static void onNailGunAimMovement(net.minecraftforge.client.event.MovementInputUpdateEvent);
    Code:
       0: aload_0
       1: invokevirtual #403                // Method net/minecraftforge/client/event/MovementInputUpdateEvent.getEntity:()Lnet/minecraft/world/entity/player/Player;
       4: astore_1
       5: aload_1
       6: invokevirtual #154                // Method net/minecraft/world/entity/player/Player.m_21205_:()Lnet/minecraft/world/item/ItemStack;
       9: invokevirtual #163                // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
      12: instanceof    #167                // class com/ogaba/sa_combat/combat/weapon/NailGunItem
      15: ifne          19
      18: return
      19: invokestatic  #190                // Method com/ogaba/sa_combat/client/render/NailGunAimClient.getProgress:()F
      22: fstore_2
      23: fload_2
      24: ldc_w         #349                // float 0.01f
      27: fcmpg
      28: ifgt          32
      31: return
      32: invokestatic  #406                // Method com/ogaba/sa_combat/client/render/NailGunAimClient.getMovementMultiplier:()F
      35: fstore_3
      36: aload_0
      37: invokevirtual #410                // Method net/minecraftforge/client/event/MovementInputUpdateEvent.getInput:()Lnet/minecraft/client/player/Input;
      40: dup
      41: getfield      #415                // Field net/minecraft/client/player/Input.f_108566_:F
      44: fload_3
      45: fmul
      46: putfield      #415                // Field net/minecraft/client/player/Input.f_108566_:F
      49: aload_0
      50: invokevirtual #410                // Method net/minecraftforge/client/event/MovementInputUpdateEvent.getInput:()Lnet/minecraft/client/player/Input;
      53: dup
      54: getfield      #418                // Field net/minecraft/client/player/Input.f_108567_:F
      57: fload_3
      58: fmul
      59: putfield      #418                // Field net/minecraft/client/player/Input.f_108567_:F
      62: fload_2
      63: ldc_w         #419                // float 0.05f
      66: fcmpl
      67: ifle          82
      70: aload_1
      71: invokevirtual #422                // Method net/minecraft/world/entity/player/Player.m_20142_:()Z
      74: ifeq          82
      77: aload_1
      78: iconst_0
      79: invokevirtual #425                // Method net/minecraft/world/entity/player/Player.m_6858_:(Z)V
      82: return

  private static void tickCrossbowAmmoCycle();
    Code:
       0: invokestatic  #144                // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft;
       3: astore_0
       4: aload_0
       5: getfield      #148                // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
       8: astore_1
       9: aload_1
      10: ifnull        20
      13: aload_0
      14: getfield      #432                // Field net/minecraft/client/Minecraft.f_91080_:Lnet/minecraft/client/gui/screens/Screen;
      17: ifnull        25
      20: iconst_0
      21: putstatic     #434                // Field crossbowCycleWasDown:Z
      24: return
      25: aload_1
      26: invokevirtual #154                // Method net/minecraft/world/entity/player/Player.m_21205_:()Lnet/minecraft/world/item/ItemStack;
      29: invokevirtual #163                // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
      32: instanceof    #46                 // class com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem
      35: ifne          51
      38: aload_1
      39: invokevirtual #157                // Method net/minecraft/world/entity/player/Player.m_21206_:()Lnet/minecraft/world/item/ItemStack;
      42: invokevirtual #163                // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
      45: instanceof    #46                 // class com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem
      48: ifeq          55
      51: iconst_1
      52: goto          56
      55: iconst_0
      56: istore_2
      57: iload_2
      58: ifne          66
      61: iconst_0
      62: putstatic     #434                // Field crossbowCycleWasDown:Z
      65: return
      66: aload_0
      67: getfield      #214                // Field net/minecraft/client/Minecraft.f_91066_:Lnet/minecraft/client/Options;
      70: getfield      #438                // Field net/minecraft/client/Options.f_92096_:Lnet/minecraft/client/KeyMapping;
      73: invokevirtual #443                // Method net/minecraft/client/KeyMapping.m_90857_:()Z
      76: ifeq          90
      79: aload_1
      80: invokevirtual #446                // Method net/minecraft/world/entity/player/Player.m_6144_:()Z
      83: ifeq          90
      86: iconst_1
      87: goto          91
      90: iconst_0
      91: istore_3
      92: getstatic     #434                // Field crossbowCycleWasDown:Z
      95: istore        4
      97: iload_3
      98: putstatic     #434                // Field crossbowCycleWasDown:Z
     101: iload_3
     102: ifeq          123
     105: iload         4
     107: ifne          123
     110: getstatic     #452                // Field com/ogaba/sa_combat/network/ModMessages.INSTANCE:Lnet/minecraftforge/network/simple/SimpleChannel;
     113: new           #454                // class com/ogaba/sa_combat/network/packet/CycleBoltTypeC2SPacket
     116: dup
     117: invokespecial #455                // Method com/ogaba/sa_combat/network/packet/CycleBoltTypeC2SPacket."<init>":()V
     120: invokevirtual #461                // Method net/minecraftforge/network/simple/SimpleChannel.sendToServer:(Ljava/lang/Object;)V
     123: return

  public static void onNailGunInteractionKey(net.minecraftforge.client.event.InputEvent$InteractionKeyMappingTriggered);
    Code:
       0: invokestatic  #144                // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft;
       3: astore_1
       4: aload_1
       5: getfield      #148                // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
       8: astore_2
       9: aload_2
      10: ifnull        33
      13: aload_1
      14: getfield      #432                // Field net/minecraft/client/Minecraft.f_91080_:Lnet/minecraft/client/gui/screens/Screen;
      17: ifnonnull     33
      20: aload_2
      21: invokevirtual #154                // Method net/minecraft/world/entity/player/Player.m_21205_:()Lnet/minecraft/world/item/ItemStack;
      24: invokevirtual #163                // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
      27: instanceof    #167                // class com/ogaba/sa_combat/combat/weapon/NailGunItem
      30: ifne          34
      33: return
      34: aload_0
      35: invokevirtual #472                // Method net/minecraftforge/client/event/InputEvent$InteractionKeyMappingTriggered.isAttack:()Z
      38: ifne          48
      41: aload_0
      42: invokevirtual #475                // Method net/minecraftforge/client/event/InputEvent$InteractionKeyMappingTriggered.isUseItem:()Z
      45: ifeq          58
      48: aload_0
      49: iconst_0
      50: invokevirtual #478                // Method net/minecraftforge/client/event/InputEvent$InteractionKeyMappingTriggered.setSwingHand:(Z)V
      53: aload_0
      54: iconst_1
      55: invokevirtual #479                // Method net/minecraftforge/client/event/InputEvent$InteractionKeyMappingTriggered.setCanceled:(Z)V
      58: return

  private static void tickNailGunThirdPersonSounds();
    Code:
       0: invokestatic  #144                // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft;
       3: astore_0
       4: aload_0
       5: getfield      #148                // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
       8: astore_1
       9: aload_1
      10: ifnull        33
      13: aload_0
      14: getfield      #432                // Field net/minecraft/client/Minecraft.f_91080_:Lnet/minecraft/client/gui/screens/Screen;
      17: ifnonnull     33
      20: aload_0
      21: getfield      #214                // Field net/minecraft/client/Minecraft.f_91066_:Lnet/minecraft/client/Options;
      24: invokevirtual #484                // Method net/minecraft/client/Options.m_92176_:()Lnet/minecraft/client/CameraType;
      27: invokevirtual #489                // Method net/minecraft/client/CameraType.m_90612_:()Z
      30: ifeq          44
      33: ldc2_w        #490                // long -9223372036854775808l
      36: putstatic     #493                // Field thirdPersonNailGunStackId:J
      39: iconst_0
      40: putstatic     #495                // Field thirdPersonNailGunReloadWasActive:Z
      43: return
      44: aload_1
      45: invokevirtual #154                // Method net/minecraft/world/entity/player/Player.m_21205_:()Lnet/minecraft/world/item/ItemStack;
      48: astore_2
      49: aload_2
      50: invokevirtual #163                // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
      53: instanceof    #167                // class com/ogaba/sa_combat/combat/weapon/NailGunItem
      56: ifne          70
      59: ldc2_w        #490                // long -9223372036854775808l
      62: putstatic     #493                // Field thirdPersonNailGunStackId:J
      65: iconst_0
      66: putstatic     #495                // Field thirdPersonNailGunReloadWasActive:Z
      69: return
      70: aload_2
      71: invokestatic  #501                // InterfaceMethod software/bernie/geckolib/animatable/GeoItem.getId:(Lnet/minecraft/world/item/ItemStack;)J
      74: lstore_3
      75: getstatic     #493                // Field thirdPersonNailGunStackId:J
      78: lload_3
      79: lcmp
      80: ifeq          125
      83: lload_3
      84: putstatic     #493                // Field thirdPersonNailGunStackId:J
      87: iconst_0
      88: putstatic     #495                // Field thirdPersonNailGunReloadWasActive:Z
      91: aload_1
      92: invokevirtual #505                // Method net/minecraft/world/entity/player/Player.m_9236_:()Lnet/minecraft/world/level/Level;
      95: aload_1
      96: invokevirtual #509                // Method net/minecraft/world/entity/player/Player.m_20185_:()D
      99: aload_1
     100: invokevirtual #512                // Method net/minecraft/world/entity/player/Player.m_20186_:()D
     103: aload_1
     104: invokevirtual #515                // Method net/minecraft/world/entity/player/Player.m_20189_:()D
     107: getstatic     #521                // Field com/ogaba/sa_combat/registry/ModSounds.NAIL_GUN_DRAW:Lnet/minecraftforge/registries/RegistryObject;
     110: invokevirtual #526                // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object;
     113: checkcast     #528                // class net/minecraft/sounds/SoundEvent
     116: getstatic     #534                // Field net/minecraft/sounds/SoundSource.PLAYERS:Lnet/minecraft/sounds/SoundSource;
     119: fconst_1
     120: fconst_1
     121: iconst_0
     122: invokevirtual #540                // Method net/minecraft/world/level/Level.m_7785_:(DDDLnet/minecraft/sounds/SoundEvent;Lnet/minecraft/sounds/SoundSource;FFZ)V
     125: aload_2
     126: invokestatic  #544                // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.isReloading:(Lnet/minecraft/world/item/ItemStack;)Z
     129: ifne          139
     132: aload_2
     133: invokestatic  #547                // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.isClientReloadAnimationActive:(Lnet/minecraft/world/item/ItemStack;)Z
     136: ifeq          143
     139: iconst_1
     140: goto          144
     143: iconst_0
     144: istore        5
     146: iload         5
     148: ifeq          191
     151: getstatic     #495                // Field thirdPersonNailGunReloadWasActive:Z
     154: ifne          191
     157: aload_1
     158: invokevirtual #505                // Method net/minecraft/world/entity/player/Player.m_9236_:()Lnet/minecraft/world/level/Level;
     161: aload_1
     162: invokevirtual #509                // Method net/minecraft/world/entity/player/Player.m_20185_:()D
     165: aload_1
     166: invokevirtual #512                // Method net/minecraft/world/entity/player/Player.m_20186_:()D
     169: aload_1
     170: invokevirtual #515                // Method net/minecraft/world/entity/player/Player.m_20189_:()D
     173: getstatic     #550                // Field com/ogaba/sa_combat/registry/ModSounds.NAIL_GUN_RELOAD:Lnet/minecraftforge/registries/RegistryObject;
     176: invokevirtual #526                // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object;
     179: checkcast     #528                // class net/minecraft/sounds/SoundEvent
     182: getstatic     #534                // Field net/minecraft/sounds/SoundSource.PLAYERS:Lnet/minecraft/sounds/SoundSource;
     185: fconst_1
     186: fconst_1
     187: iconst_0
     188: invokevirtual #540                // Method net/minecraft/world/level/Level.m_7785_:(DDDLnet/minecraft/sounds/SoundEvent;Lnet/minecraft/sounds/SoundSource;FFZ)V
     191: iload         5
     193: putstatic     #495                // Field thirdPersonNailGunReloadWasActive:Z
     196: return

  private static void tickNailGunTrigger();
    Code:
       0: invokestatic  #144                // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft;
       3: astore_0
       4: aload_0
       5: getfield      #148                // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
       8: astore_1
       9: aload_1
      10: ifnull        20
      13: aload_0
      14: getfield      #432                // Field net/minecraft/client/Minecraft.f_91080_:Lnet/minecraft/client/gui/screens/Screen;
      17: ifnull        29
      20: iconst_0
      21: putstatic     #555                // Field nailGunTriggerWasDown:Z
      24: fconst_0
      25: putstatic     #557                // Field nailGunAutoFireAccumulator:F
      28: return
      29: aload_1
      30: invokestatic  #561                // Method resolveNailGunHand:(Lnet/minecraft/world/entity/player/Player;)Lnet/minecraft/world/InteractionHand;
      33: astore_2
      34: aload_2
      35: ifnonnull     47
      38: iconst_0
      39: putstatic     #555                // Field nailGunTriggerWasDown:Z
      42: fconst_0
      43: putstatic     #557                // Field nailGunAutoFireAccumulator:F
      46: return
      47: aload_1
      48: aload_2
      49: invokevirtual #565                // Method net/minecraft/world/entity/player/Player.m_21120_:(Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/item/ItemStack;
      52: astore_3
      53: aload_0
      54: getfield      #214                // Field net/minecraft/client/Minecraft.f_91066_:Lnet/minecraft/client/Options;
      57: getfield      #438                // Field net/minecraft/client/Options.f_92096_:Lnet/minecraft/client/KeyMapping;
      60: invokevirtual #443                // Method net/minecraft/client/KeyMapping.m_90857_:()Z
      63: istore        4
      65: getstatic     #555                // Field nailGunTriggerWasDown:Z
      68: istore        5
      70: iload         4
      72: putstatic     #555                // Field nailGunTriggerWasDown:Z
      75: iload         4
      77: ifeq          101
      80: aload_3
      81: invokestatic  #544                // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.isReloading:(Lnet/minecraft/world/item/ItemStack;)Z
      84: ifne          101
      87: aload_3
      88: invokestatic  #547                // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.isClientReloadAnimationActive:(Lnet/minecraft/world/item/ItemStack;)Z
      91: ifne          101
      94: aload_1
      95: invokevirtual #422                // Method net/minecraft/world/entity/player/Player.m_20142_:()Z
      98: ifeq          106
     101: fconst_0
     102: putstatic     #557                // Field nailGunAutoFireAccumulator:F
     105: return
     106: iload         5
     108: ifne          121
     111: iconst_1
     112: istore        6
     114: fconst_0
     115: putstatic     #557                // Field nailGunAutoFireAccumulator:F
     118: goto          159
     121: getstatic     #557                // Field nailGunAutoFireAccumulator:F
     124: ldc_w         #566                // float 0.6f
     127: fadd
     128: putstatic     #557                // Field nailGunAutoFireAccumulator:F
     131: getstatic     #557                // Field nailGunAutoFireAccumulator:F
     134: fconst_1
     135: fcmpl
     136: iflt          143
     139: iconst_1
     140: goto          144
     143: iconst_0
     144: istore        6
     146: iload         6
     148: ifeq          159
     151: getstatic     #557                // Field nailGunAutoFireAccumulator:F
     154: fconst_1
     155: fsub
     156: putstatic     #557                // Field nailGunAutoFireAccumulator:F
     159: iload         6
     161: ifeq          171
     164: aload_3
     165: invokestatic  #570                // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.getMagazine:(Lnet/minecraft/world/item/ItemStack;)I
     168: ifgt          172
     171: return
     172: aload_3
     173: invokevirtual #163                // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
     176: checkcast     #167                // class com/ogaba/sa_combat/combat/weapon/NailGunItem
     179: aload_1
     180: invokevirtual #505                // Method net/minecraft/world/entity/player/Player.m_9236_:()Lnet/minecraft/world/level/Level;
     183: aload_1
     184: aload_3
     185: aload_2
     186: invokevirtual #574                // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.fire:(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/InteractionHand;)V
     189: aload_1
     190: invokevirtual #505                // Method net/minecraft/world/entity/player/Player.m_9236_:()Lnet/minecraft/world/level/Level;
     193: aload_1
     194: aload_3
     195: invokestatic  #578                // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.playLocalShotSound:(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/item/ItemStack;)V
     198: getstatic     #452                // Field com/ogaba/sa_combat/network/ModMessages.INSTANCE:Lnet/minecraftforge/network/simple/SimpleChannel;
     201: new           #580                // class com/ogaba/sa_combat/network/packet/FireNailGunC2SPacket
     204: dup
     205: aload_2
     206: invokestatic  #190                // Method com/ogaba/sa_combat/client/render/NailGunAimClient.getProgress:()F
     209: invokespecial #583                // Method com/ogaba/sa_combat/network/packet/FireNailGunC2SPacket."<init>":(Lnet/minecraft/world/InteractionHand;F)V
     212: invokevirtual #461                // Method net/minecraftforge/network/simple/SimpleChannel.sendToServer:(Ljava/lang/Object;)V
     215: return

  private static void tickNailGunReloadKey();
    Code:
       0: invokestatic  #144                // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft;
       3: astore_0
       4: getstatic     #590                // Field com/ogaba/sa_combat/client/ModKeyBindings.RELOAD_NAIL_GUN:Lnet/minecraft/client/KeyMapping;
       7: invokevirtual #593                // Method net/minecraft/client/KeyMapping.m_90859_:()Z
      10: ifeq          150
      13: aload_0
      14: getfield      #148                // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
      17: astore_1
      18: aload_1
      19: ifnonnull     26
      22: aconst_null
      23: goto          30
      26: aload_1
      27: invokestatic  #561                // Method resolveNailGunHand:(Lnet/minecraft/world/entity/player/Player;)Lnet/minecraft/world/InteractionHand;
      30: astore_2
      31: aload_1
      32: ifnull        4
      35: aload_2
      36: ifnonnull     42
      39: goto          4
      42: aload_1
      43: aload_2
      44: invokevirtual #565                // Method net/minecraft/world/entity/player/Player.m_21120_:(Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/item/ItemStack;
      47: astore_3
      48: aload_3
      49: invokevirtual #163                // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
      52: instanceof    #167                // class com/ogaba/sa_combat/combat/weapon/NailGunItem
      55: ifne          61
      58: goto          4
      61: aload_1
      62: invokevirtual #597                // Method net/minecraft/world/entity/player/Player.m_150110_:()Lnet/minecraft/world/entity/player/Abilities;
      65: getfield      #602                // Field net/minecraft/world/entity/player/Abilities.f_35937_:Z
      68: ifne          78
      71: aload_1
      72: invokestatic  #606                // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.countReserveAmmo:(Lnet/minecraft/world/entity/player/Player;)I
      75: ifle          82
      78: iconst_1
      79: goto          83
      82: iconst_0
      83: istore        4
      85: aload_3
      86: invokestatic  #544                // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.isReloading:(Lnet/minecraft/world/item/ItemStack;)Z
      89: ifne          119
      92: aload_3
      93: invokestatic  #547                // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.isClientReloadAnimationActive:(Lnet/minecraft/world/item/ItemStack;)Z
      96: ifne          119
      99: aload_3
     100: invokestatic  #570                // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.getMagazine:(Lnet/minecraft/world/item/ItemStack;)I
     103: aload_3
     104: invokestatic  #609                // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.magazineCapacity:(Lnet/minecraft/world/item/ItemStack;)I
     107: if_icmpge     119
     110: iload         4
     112: ifeq          119
     115: iconst_1
     116: goto          120
     119: iconst_0
     120: istore        5
     122: iload         5
     124: ifne          130
     127: goto          4
     130: aload_3
     131: invokestatic  #613                // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.markClientReloadAnimation:(Lnet/minecraft/world/item/ItemStack;)V
     134: getstatic     #452                // Field com/ogaba/sa_combat/network/ModMessages.INSTANCE:Lnet/minecraftforge/network/simple/SimpleChannel;
     137: new           #615                // class com/ogaba/sa_combat/network/packet/ReloadNailGunC2SPacket
     140: dup
     141: invokespecial #616                // Method com/ogaba/sa_combat/network/packet/ReloadNailGunC2SPacket."<init>":()V
     144: invokevirtual #461                // Method net/minecraftforge/network/simple/SimpleChannel.sendToServer:(Ljava/lang/Object;)V
     147: goto          4
     150: return

  private static net.minecraft.world.InteractionHand resolveNailGunHand(net.minecraft.world.entity.player.Player);
    Code:
       0: aload_0
       1: invokevirtual #154                // Method net/minecraft/world/entity/player/Player.m_21205_:()Lnet/minecraft/world/item/ItemStack;
       4: invokevirtual #163                // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
       7: instanceof    #167                // class com/ogaba/sa_combat/combat/weapon/NailGunItem
      10: ifeq          17
      13: getstatic     #179                // Field net/minecraft/world/InteractionHand.MAIN_HAND:Lnet/minecraft/world/InteractionHand;
      16: areturn
      17: aconst_null
      18: areturn

  public static void onItemTooltip(net.minecraftforge.event.entity.player.ItemTooltipEvent);
    Code:
       0: aload_0
       1: invokevirtual #626                // Method net/minecraftforge/event/entity/player/ItemTooltipEvent.getItemStack:()Lnet/minecraft/world/item/ItemStack;
       4: astore_1
       5: aload_1
       6: invokevirtual #629                // Method net/minecraft/world/item/ItemStack.m_41619_:()Z
       9: ifne          19
      12: aload_1
      13: invokestatic  #634                // Method com/ogaba/sa_combat/combat/weapon/WeaponSlotProfile.isUpgradeableWeapon:(Lnet/minecraft/world/item/ItemStack;)Z
      16: ifne          20
      19: return
      20: aload_1
      21: invokevirtual #163                // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
      24: instanceof    #636                // class com/ogaba/sa_combat/combat/weapon/BaseMeleeWeapon
      27: istore_2
      28: iload_2
      29: ifne          70
      32: aload_1
      33: invokestatic  #641                // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachmentData.hasAnyAttachment:(Lnet/minecraft/world/item/ItemStack;)Z
      36: ifne          70
      39: aload_1
      40: invokestatic  #646                // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData.hasModifier:(Lnet/minecraft/world/item/ItemStack;)Z
      43: ifne          70
      46: aload_1
      47: invokestatic  #650                // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData.getAttributeUpgrades:(Lnet/minecraft/world/item/ItemStack;)Ljava/util/List;
      50: invokeinterface #655,  1          // InterfaceMethod java/util/List.isEmpty:()Z
      55: ifeq          70
      58: aload_1
      59: invokestatic  #658                // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData.getAbilityUpgrades:(Lnet/minecraft/world/item/ItemStack;)Ljava/util/List;
      62: invokeinterface #655,  1          // InterfaceMethod java/util/List.isEmpty:()Z
      67: ifne          74
      70: iconst_1
      71: goto          75
      74: iconst_0
      75: istore_3
      76: iload_3
      77: ifne          81
      80: return
      81: aload_0
      82: invokevirtual #662                // Method net/minecraftforge/event/entity/player/ItemTooltipEvent.getToolTip:()Ljava/util/List;
      85: invokestatic  #666                // Method removeAttributeLinesBeforeMainHandHeader:(Ljava/util/List;)V
      88: aload_0
      89: aload_1
      90: invokestatic  #670                // Method replaceMainHandAttributeTooltip:(Lnet/minecraftforge/event/entity/player/ItemTooltipEvent;Lnet/minecraft/world/item/ItemStack;)V
      93: iload_2
      94: ifne          132
      97: aload_1
      98: invokestatic  #675                // Method com/ogaba/sa_combat/combat/weapon/WeaponTooltipHelper.buildExternalTooltip:(Lnet/minecraft/world/item/ItemStack;)Ljava/util/List;
     101: astore        4
     103: aload         4
     105: invokeinterface #655,  1          // InterfaceMethod java/util/List.isEmpty:()Z
     110: ifne          132
     113: aload_0
     114: invokevirtual #662                // Method net/minecraftforge/event/entity/player/ItemTooltipEvent.getToolTip:()Ljava/util/List;
     117: aload_0
     118: invokevirtual #662                // Method net/minecraftforge/event/entity/player/ItemTooltipEvent.getToolTip:()Ljava/util/List;
     121: invokestatic  #679                // Method findVanillaAttributeInsertIndex:(Ljava/util/List;)I
     124: aload         4
     126: invokeinterface #683,  3          // InterfaceMethod java/util/List.addAll:(ILjava/util/Collection;)Z
     131: pop
     132: aload_0
     133: invokevirtual #662                // Method net/minecraftforge/event/entity/player/ItemTooltipEvent.getToolTip:()Ljava/util/List;
     136: invokestatic  #666                // Method removeAttributeLinesBeforeMainHandHeader:(Ljava/util/List;)V
     139: return

  private static void removeAttributeLinesBeforeMainHandHeader(java.util.List<net.minecraft.network.chat.Component>);
    Code:
       0: aload_0
       1: invokestatic  #693                // Method findMainHandHeaderIndex:(Ljava/util/List;)I
       4: istore_1
       5: iload_1
       6: ifge          10
       9: return
      10: iload_1
      11: iconst_1
      12: isub
      13: istore_2
      14: iload_2
      15: iconst_1
      16: if_icmplt     137
      19: aload_0
      20: iload_2
      21: invokeinterface #696,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      26: checkcast     #698                // class net/minecraft/network/chat/Component
      29: invokeinterface #702,  1          // InterfaceMethod net/minecraft/network/chat/Component.getString:()Ljava/lang/String;
      34: astore_3
      35: aload_3
      36: invokestatic  #706                // Method isMainHandAttributeLine:(Ljava/lang/String;)Z
      39: ifeq          131
      42: aload_0
      43: iload_2
      44: invokeinterface #709,  2          // InterfaceMethod java/util/List.remove:(I)Ljava/lang/Object;
      49: pop
      50: iload_2
      51: aload_0
      52: invokeinterface #713,  1          // InterfaceMethod java/util/List.size:()I
      57: if_icmpge     92
      60: aload_0
      61: iload_2
      62: invokeinterface #696,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      67: checkcast     #698                // class net/minecraft/network/chat/Component
      70: invokeinterface #702,  1          // InterfaceMethod net/minecraft/network/chat/Component.getString:()Ljava/lang/String;
      75: invokevirtual #718                // Method java/lang/String.isBlank:()Z
      78: ifeq          92
      81: aload_0
      82: iload_2
      83: invokeinterface #709,  2          // InterfaceMethod java/util/List.remove:(I)Ljava/lang/Object;
      88: pop
      89: goto          131
      92: iload_2
      93: iconst_1
      94: isub
      95: ifle          131
      98: aload_0
      99: iload_2
     100: iconst_1
     101: isub
     102: invokeinterface #696,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     107: checkcast     #698                // class net/minecraft/network/chat/Component
     110: invokeinterface #702,  1          // InterfaceMethod net/minecraft/network/chat/Component.getString:()Ljava/lang/String;
     115: invokevirtual #718                // Method java/lang/String.isBlank:()Z
     118: ifeq          131
     121: aload_0
     122: iload_2
     123: iconst_1
     124: isub
     125: invokeinterface #709,  2          // InterfaceMethod java/util/List.remove:(I)Ljava/lang/Object;
     130: pop
     131: iinc          2, -1
     134: goto          14
     137: return

  private static void replaceMainHandAttributeTooltip(net.minecraftforge.event.entity.player.ItemTooltipEvent, net.minecraft.world.item.ItemStack);
    Code:
       0: aload_0
       1: invokevirtual #662                // Method net/minecraftforge/event/entity/player/ItemTooltipEvent.getToolTip:()Ljava/util/List;
       4: astore_2
       5: aload_2
       6: invokestatic  #693                // Method findMainHandHeaderIndex:(Ljava/util/List;)I
       9: istore_3
      10: iload_3
      11: ifge          15
      14: return
      15: iload_3
      16: iconst_1
      17: iadd
      18: istore        4
      20: iload         4
      22: aload_2
      23: invokeinterface #713,  1          // InterfaceMethod java/util/List.size:()I
      28: if_icmpge     55
      31: aload_2
      32: iload         4
      34: invokeinterface #696,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      39: checkcast     #698                // class net/minecraft/network/chat/Component
      42: aload_1
      43: invokestatic  #727                // Method isTooltipTechnicalTail:(Lnet/minecraft/network/chat/Component;Lnet/minecraft/world/item/ItemStack;)Z
      46: ifne          55
      49: iinc          4, 1
      52: goto          20
      55: aload_2
      56: iload_3
      57: iload         4
      59: invokeinterface #731,  3          // InterfaceMethod java/util/List.subList:(II)Ljava/util/List;
      64: invokeinterface #734,  1          // InterfaceMethod java/util/List.clear:()V
      69: aload_2
      70: iload_3
      71: aload_1
      72: invokestatic  #737                // Method buildUnifiedMainHandAttributeTooltip:(Lnet/minecraft/world/item/ItemStack;)Ljava/util/List;
      75: invokeinterface #683,  3          // InterfaceMethod java/util/List.addAll:(ILjava/util/Collection;)Z
      80: pop
      81: return

  private static boolean isTooltipTechnicalTail(net.minecraft.network.chat.Component, net.minecraft.world.item.ItemStack);
    Code:
       0: aload_0
       1: ifnonnull     6
       4: iconst_0
       5: ireturn
       6: aload_0
       7: invokeinterface #702,  1          // InterfaceMethod net/minecraft/network/chat/Component.getString:()Ljava/lang/String;
      12: invokevirtual #741                // Method java/lang/String.trim:()Ljava/lang/String;
      15: astore_2
      16: aload_2
      17: invokevirtual #742                // Method java/lang/String.isEmpty:()Z
      20: ifeq          25
      23: iconst_0
      24: ireturn
      25: aload_1
      26: invokevirtual #745                // Method net/minecraft/world/item/ItemStack.m_41763_:()Z
      29: ifeq          93
      32: aload_1
      33: invokevirtual #748                // Method net/minecraft/world/item/ItemStack.m_41768_:()Z
      36: ifeq          93
      39: ldc_w         #750                // String item.durability
      42: iconst_2
      43: anewarray     #4                  // class java/lang/Object
      46: dup
      47: iconst_0
      48: aload_1
      49: invokevirtual #753                // Method net/minecraft/world/item/ItemStack.m_41776_:()I
      52: aload_1
      53: invokevirtual #756                // Method net/minecraft/world/item/ItemStack.m_41773_:()I
      56: isub
      57: invokestatic  #762                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      60: aastore
      61: dup
      62: iconst_1
      63: aload_1
      64: invokevirtual #753                // Method net/minecraft/world/item/ItemStack.m_41776_:()I
      67: invokestatic  #762                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      70: aastore
      71: invokestatic  #766                // InterfaceMethod net/minecraft/network/chat/Component.m_237110_:(Ljava/lang/String;[Ljava/lang/Object;)Lnet/minecraft/network/chat/MutableComponent;
      74: astore_3
      75: aload_2
      76: aload_3
      77: invokeinterface #702,  1          // InterfaceMethod net/minecraft/network/chat/Component.getString:()Ljava/lang/String;
      82: invokevirtual #741                // Method java/lang/String.trim:()Ljava/lang/String;
      85: invokevirtual #770                // Method java/lang/String.equals:(Ljava/lang/Object;)Z
      88: ifeq          93
      91: iconst_1
      92: ireturn
      93: aload_2
      94: getstatic     #776                // Field java/util/Locale.ROOT:Ljava/util/Locale;
      97: invokevirtual #780                // Method java/lang/String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
     100: astore_3
     101: aload_3
     102: ldc_w         #782                // String nbt
     105: invokevirtual #785                // Method java/lang/String.startsWith:(Ljava/lang/String;)Z
     108: ifeq          113
     111: iconst_1
     112: ireturn
     113: aload_3
     114: ldc_w         #787                // String [a-z0-9_.-]+:[a-z0-9_./-]+
     117: invokevirtual #790                // Method java/lang/String.matches:(Ljava/lang/String;)Z
     120: ireturn

  private static java.util.List<net.minecraft.network.chat.Component> buildUnifiedMainHandAttributeTooltip(net.minecraft.world.item.ItemStack);
    Code:
       0: new           #797                // class java/util/ArrayList
       3: dup
       4: invokespecial #798                // Method java/util/ArrayList."<init>":()V
       7: astore_1
       8: aload_1
       9: ldc_w         #800                // String item.modifiers.mainhand
      12: invokestatic  #804                // InterfaceMethod net/minecraft/network/chat/Component.m_237115_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent;
      15: getstatic     #810                // Field net/minecraft/ChatFormatting.GRAY:Lnet/minecraft/ChatFormatting;
      18: invokevirtual #816                // Method net/minecraft/network/chat/MutableComponent.m_130940_:(Lnet/minecraft/ChatFormatting;)Lnet/minecraft/network/chat/MutableComponent;
      21: invokeinterface #819,  2          // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
      26: pop
      27: aload_0
      28: invokestatic  #823                // Method totalAttackDamage:(Lnet/minecraft/world/item/ItemStack;)D
      31: dstore_2
      32: dload_2
      33: dconst_0
      34: dcmpl
      35: ifle          63
      38: aload_1
      39: dload_2
      40: invokestatic  #827                // Method fmtAttribute:(D)Ljava/lang/String;
      43: invokedynamic #839,  0            // InvokeDynamic #0:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
      48: invokestatic  #842                // InterfaceMethod net/minecraft/network/chat/Component.m_237113_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent;
      51: getstatic     #845                // Field net/minecraft/ChatFormatting.DARK_GREEN:Lnet/minecraft/ChatFormatting;
      54: invokevirtual #816                // Method net/minecraft/network/chat/MutableComponent.m_130940_:(Lnet/minecraft/ChatFormatting;)Lnet/minecraft/network/chat/MutableComponent;
      57: invokeinterface #819,  2          // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
      62: pop
      63: aload_0
      64: invokestatic  #848                // Method totalAttackSpeed:(Lnet/minecraft/world/item/ItemStack;)D
      67: dstore        4
      69: aload_1
      70: dload         4
      72: invokestatic  #827                // Method fmtAttribute:(D)Ljava/lang/String;
      75: invokedynamic #851,  0            // InvokeDynamic #1:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
      80: invokestatic  #842                // InterfaceMethod net/minecraft/network/chat/Component.m_237113_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent;
      83: getstatic     #845                // Field net/minecraft/ChatFormatting.DARK_GREEN:Lnet/minecraft/ChatFormatting;
      86: invokevirtual #816                // Method net/minecraft/network/chat/MutableComponent.m_130940_:(Lnet/minecraft/ChatFormatting;)Lnet/minecraft/network/chat/MutableComponent;
      89: invokeinterface #819,  2          // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
      94: pop
      95: aload_0
      96: invokestatic  #854                // Method totalAttackKnockback:(Lnet/minecraft/world/item/ItemStack;)D
      99: dstore        6
     101: dload         6
     103: invokestatic  #857                // Method java/lang/Math.abs:(D)D
     106: ldc2_w        #858                // double 0.001d
     109: dcmpl
     110: ifle          139
     113: aload_1
     114: dload         6
     116: invokestatic  #827                // Method fmtAttribute:(D)Ljava/lang/String;
     119: invokedynamic #862,  0            // InvokeDynamic #2:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
     124: invokestatic  #842                // InterfaceMethod net/minecraft/network/chat/Component.m_237113_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent;
     127: getstatic     #845                // Field net/minecraft/ChatFormatting.DARK_GREEN:Lnet/minecraft/ChatFormatting;
     130: invokevirtual #816                // Method net/minecraft/network/chat/MutableComponent.m_130940_:(Lnet/minecraft/ChatFormatting;)Lnet/minecraft/network/chat/MutableComponent;
     133: invokeinterface #819,  2          // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
     138: pop
     139: aload_0
     140: invokestatic  #865                // Method totalAttackReach:(Lnet/minecraft/world/item/ItemStack;)D
     143: dstore        8
     145: aload_1
     146: dload         8
     148: invokestatic  #827                // Method fmtAttribute:(D)Ljava/lang/String;
     151: invokedynamic #868,  0            // InvokeDynamic #3:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
     156: invokestatic  #842                // InterfaceMethod net/minecraft/network/chat/Component.m_237113_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent;
     159: getstatic     #845                // Field net/minecraft/ChatFormatting.DARK_GREEN:Lnet/minecraft/ChatFormatting;
     162: invokevirtual #816                // Method net/minecraft/network/chat/MutableComponent.m_130940_:(Lnet/minecraft/ChatFormatting;)Lnet/minecraft/network/chat/MutableComponent;
     165: invokeinterface #819,  2          // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
     170: pop
     171: aload_1
     172: areturn

  private static boolean isMainHandAttributeLine(java.lang.String);
    Code:
       0: aload_0
       1: ifnull        11
       4: aload_0
       5: invokevirtual #718                // Method java/lang/String.isBlank:()Z
       8: ifeq          13
      11: iconst_0
      12: ireturn
      13: aload_0
      14: getstatic     #776                // Field java/util/Locale.ROOT:Ljava/util/Locale;
      17: invokevirtual #780                // Method java/lang/String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
      20: astore_1
      21: aload_1
      22: ldc_w         #876                // String attack damage
      25: invokevirtual #880                // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
      28: ifne          121
      31: aload_1
      32: ldc_w         #882                // String attack speed
      35: invokevirtual #880                // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
      38: ifne          121
      41: aload_1
      42: ldc_w         #884                // String attack range
      45: invokevirtual #880                // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
      48: ifne          121
      51: aload_1
      52: ldc_w         #886                // String entity reach
      55: invokevirtual #880                // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
      58: ifne          121
      61: aload_1
      62: ldc_w         #888                // String attack knockback
      65: invokevirtual #880                // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
      68: ifne          121
      71: aload_1
      72: ldc_w         #890                // String dano de ataque
      75: invokevirtual #880                // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
      78: ifne          121
      81: aload_1
      82: ldc_w         #892                // String velocidade de ataque
      85: invokevirtual #880                // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
      88: ifne          121
      91: aload_1
      92: ldc_w         #894                // String alcance de ataque
      95: invokevirtual #880                // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
      98: ifne          121
     101: aload_1
     102: ldc_w         #896                // String repuls
     105: invokevirtual #880                // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
     108: ifne          121
     111: aload_1
     112: ldc_w         #897                // String knockback
     115: invokevirtual #880                // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
     118: ifeq          125
     121: iconst_1
     122: goto          126
     125: iconst_0
     126: ireturn

  private static int findMainHandHeaderIndex(java.util.List<net.minecraft.network.chat.Component>);
    Code:
       0: iconst_1
       1: istore_1
       2: iload_1
       3: aload_0
       4: invokeinterface #713,  1          // InterfaceMethod java/util/List.size:()I
       9: if_icmpge     49
      12: aload_0
      13: iload_1
      14: invokeinterface #696,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      19: checkcast     #698                // class net/minecraft/network/chat/Component
      22: invokeinterface #702,  1          // InterfaceMethod net/minecraft/network/chat/Component.getString:()Ljava/lang/String;
      27: getstatic     #776                // Field java/util/Locale.ROOT:Ljava/util/Locale;
      30: invokevirtual #780                // Method java/lang/String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
      33: astore_2
      34: aload_2
      35: invokestatic  #902                // Method isMainHandHeader:(Ljava/lang/String;)Z
      38: ifeq          43
      41: iload_1
      42: ireturn
      43: iinc          1, 1
      46: goto          2
      49: iconst_m1
      50: ireturn

  private static boolean isMainHandHeader(java.lang.String);
    Code:
       0: aload_0
       1: ldc_w         #904                // String when in main hand
       4: invokevirtual #880                // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
       7: ifne          40
      10: aload_0
      11: ldc_w         #906                // String main hand
      14: invokevirtual #880                // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
      17: ifne          40
      20: aload_0
      21: ldc_w         #908                // String m?o principal
      24: invokevirtual #880                // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
      27: ifne          40
      30: aload_0
      31: ldc_w         #910                // String mao principal
      34: invokevirtual #880                // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
      37: ifeq          44
      40: iconst_1
      41: goto          45
      44: iconst_0
      45: ireturn

  private static double totalAttackDamage(net.minecraft.world.item.ItemStack);
    Code:
       0: dconst_0
       1: dstore_1
       2: aload_0
       3: getstatic     #916                // Field net/minecraft/world/entity/EquipmentSlot.MAINHAND:Lnet/minecraft/world/entity/EquipmentSlot;
       6: invokevirtual #920                // Method net/minecraft/world/item/ItemStack.m_41638_:(Lnet/minecraft/world/entity/EquipmentSlot;)Lcom/google/common/collect/Multimap;
       9: getstatic     #926                // Field net/minecraft/world/entity/ai/attributes/Attributes.f_22281_:Lnet/minecraft/world/entity/ai/attributes/Attribute;
      12: invokeinterface #931,  2          // InterfaceMethod com/google/common/collect/Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
      17: invokeinterface #937,  1          // InterfaceMethod java/util/Collection.iterator:()Ljava/util/Iterator;
      22: astore_3
      23: aload_3
      24: invokeinterface #942,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
      29: ifeq          54
      32: aload_3
      33: invokeinterface #945,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      38: checkcast     #947                // class net/minecraft/world/entity/ai/attributes/AttributeModifier
      41: astore        4
      43: dload_1
      44: aload         4
      46: invokevirtual #950                // Method net/minecraft/world/entity/ai/attributes/AttributeModifier.m_22218_:()D
      49: dadd
      50: dstore_1
      51: goto          23
      54: dload_1
      55: dconst_0
      56: dcmpl
      57: ifle          66
      60: dload_1
      61: dconst_1
      62: dadd
      63: goto          67
      66: dconst_0
      67: dreturn

  private static double totalAttackSpeed(net.minecraft.world.item.ItemStack);
    Code:
       0: ldc2_w        #954                // double 4.0d
       3: dstore_1
       4: aload_0
       5: getstatic     #916                // Field net/minecraft/world/entity/EquipmentSlot.MAINHAND:Lnet/minecraft/world/entity/EquipmentSlot;
       8: invokevirtual #920                // Method net/minecraft/world/item/ItemStack.m_41638_:(Lnet/minecraft/world/entity/EquipmentSlot;)Lcom/google/common/collect/Multimap;
      11: getstatic     #958                // Field net/minecraft/world/entity/ai/attributes/Attributes.f_22283_:Lnet/minecraft/world/entity/ai/attributes/Attribute;
      14: invokeinterface #931,  2          // InterfaceMethod com/google/common/collect/Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
      19: invokeinterface #937,  1          // InterfaceMethod java/util/Collection.iterator:()Ljava/util/Iterator;
      24: astore_3
      25: aload_3
      26: invokeinterface #942,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
      31: ifeq          56
      34: aload_3
      35: invokeinterface #945,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      40: checkcast     #947                // class net/minecraft/world/entity/ai/attributes/AttributeModifier
      43: astore        4
      45: dload_1
      46: aload         4
      48: invokevirtual #950                // Method net/minecraft/world/entity/ai/attributes/AttributeModifier.m_22218_:()D
      51: dadd
      52: dstore_1
      53: goto          25
      56: dload_1
      57: dreturn

  private static double totalAttackKnockback(net.minecraft.world.item.ItemStack);
    Code:
       0: dconst_0
       1: dstore_1
       2: aload_0
       3: getstatic     #916                // Field net/minecraft/world/entity/EquipmentSlot.MAINHAND:Lnet/minecraft/world/entity/EquipmentSlot;
       6: invokevirtual #920                // Method net/minecraft/world/item/ItemStack.m_41638_:(Lnet/minecraft/world/entity/EquipmentSlot;)Lcom/google/common/collect/Multimap;
       9: getstatic     #961                // Field net/minecraft/world/entity/ai/attributes/Attributes.f_22282_:Lnet/minecraft/world/entity/ai/attributes/Attribute;
      12: invokeinterface #931,  2          // InterfaceMethod com/google/common/collect/Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
      17: invokeinterface #937,  1          // InterfaceMethod java/util/Collection.iterator:()Ljava/util/Iterator;
      22: astore_3
      23: aload_3
      24: invokeinterface #942,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
      29: ifeq          54
      32: aload_3
      33: invokeinterface #945,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      38: checkcast     #947                // class net/minecraft/world/entity/ai/attributes/AttributeModifier
      41: astore        4
      43: dload_1
      44: aload         4
      46: invokevirtual #950                // Method net/minecraft/world/entity/ai/attributes/AttributeModifier.m_22218_:()D
      49: dadd
      50: dstore_1
      51: goto          23
      54: dload_1
      55: dreturn

  private static double totalAttackReach(net.minecraft.world.item.ItemStack);
    Code:
       0: ldc2_w        #962                // double 2.5d
       3: dstore_1
       4: aload_0
       5: getstatic     #916                // Field net/minecraft/world/entity/EquipmentSlot.MAINHAND:Lnet/minecraft/world/entity/EquipmentSlot;
       8: invokevirtual #920                // Method net/minecraft/world/item/ItemStack.m_41638_:(Lnet/minecraft/world/entity/EquipmentSlot;)Lcom/google/common/collect/Multimap;
      11: getstatic     #968                // Field net/minecraftforge/common/ForgeMod.ENTITY_REACH:Lnet/minecraftforge/registries/RegistryObject;
      14: invokevirtual #526                // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object;
      17: checkcast     #970                // class net/minecraft/world/entity/ai/attributes/Attribute
      20: invokeinterface #931,  2          // InterfaceMethod com/google/common/collect/Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
      25: invokeinterface #937,  1          // InterfaceMethod java/util/Collection.iterator:()Ljava/util/Iterator;
      30: astore_3
      31: aload_3
      32: invokeinterface #942,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
      37: ifeq          62
      40: aload_3
      41: invokeinterface #945,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      46: checkcast     #947                // class net/minecraft/world/entity/ai/attributes/AttributeModifier
      49: astore        4
      51: dload_1
      52: aload         4
      54: invokevirtual #950                // Method net/minecraft/world/entity/ai/attributes/AttributeModifier.m_22218_:()D
      57: dadd
      58: dstore_1
      59: goto          31
      62: dload_1
      63: dreturn

  private static java.lang.String fmtAttribute(double);
    Code:
       0: dload_0
       1: dload_0
       2: invokestatic  #973                // Method java/lang/Math.rint:(D)D
       5: dsub
       6: invokestatic  #857                // Method java/lang/Math.abs:(D)D
       9: ldc2_w        #858                // double 0.001d
      12: dcmpg
      13: ifge          25
      16: dload_0
      17: invokestatic  #973                // Method java/lang/Math.rint:(D)D
      20: d2i
      21: invokestatic  #976                // Method java/lang/String.valueOf:(I)Ljava/lang/String;
      24: areturn
      25: getstatic     #776                // Field java/util/Locale.ROOT:Ljava/util/Locale;
      28: ldc_w         #978                // String %.2f
      31: iconst_1
      32: anewarray     #4                  // class java/lang/Object
      35: dup
      36: iconst_0
      37: dload_0
      38: invokestatic  #983                // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
      41: aastore
      42: invokestatic  #987                // Method java/lang/String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
      45: astore_2
      46: aload_2
      47: ldc_w         #989                // String 0
      50: invokevirtual #992                // Method java/lang/String.endsWith:(Ljava/lang/String;)Z
      53: ifeq          71
      56: aload_2
      57: iconst_0
      58: aload_2
      59: invokevirtual #995                // Method java/lang/String.length:()I
      62: iconst_1
      63: isub
      64: invokevirtual #999                // Method java/lang/String.substring:(II)Ljava/lang/String;
      67: astore_2
      68: goto          46
      71: aload_2
      72: ldc_w         #1001               // String .
      75: invokevirtual #992                // Method java/lang/String.endsWith:(Ljava/lang/String;)Z
      78: ifeq          93
      81: aload_2
      82: iconst_0
      83: aload_2
      84: invokevirtual #995                // Method java/lang/String.length:()I
      87: iconst_1
      88: isub
      89: invokevirtual #999                // Method java/lang/String.substring:(II)Ljava/lang/String;
      92: astore_2
      93: aload_2
      94: areturn

  private static int findVanillaAttributeInsertIndex(java.util.List<net.minecraft.network.chat.Component>);
    Code:
       0: iconst_1
       1: istore_1
       2: iload_1
       3: aload_0
       4: invokeinterface #713,  1          // InterfaceMethod java/util/List.size:()I
       9: if_icmpge     81
      12: aload_0
      13: iload_1
      14: invokeinterface #696,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      19: checkcast     #698                // class net/minecraft/network/chat/Component
      22: invokeinterface #702,  1          // InterfaceMethod net/minecraft/network/chat/Component.getString:()Ljava/lang/String;
      27: getstatic     #776                // Field java/util/Locale.ROOT:Ljava/util/Locale;
      30: invokevirtual #780                // Method java/lang/String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
      33: astore_2
      34: aload_2
      35: invokestatic  #902                // Method isMainHandHeader:(Ljava/lang/String;)Z
      38: ifeq          75
      41: iload_1
      42: iconst_1
      43: if_icmple     73
      46: aload_0
      47: iload_1
      48: iconst_1
      49: isub
      50: invokeinterface #696,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
      55: checkcast     #698                // class net/minecraft/network/chat/Component
      58: invokeinterface #702,  1          // InterfaceMethod net/minecraft/network/chat/Component.getString:()Ljava/lang/String;
      63: invokevirtual #742                // Method java/lang/String.isEmpty:()Z
      66: ifeq          73
      69: iload_1
      70: iconst_1
      71: isub
      72: ireturn
      73: iload_1
      74: ireturn
      75: iinc          1, 1
      78: goto          2
      81: aload_0
      82: invokeinterface #713,  1          // InterfaceMethod java/util/List.size:()I
      87: ireturn

  public static void onRenderGuiOverlay(net.minecraftforge.client.event.RenderGuiOverlayEvent$Post);
    Code:
       0: aload_0
       1: invokevirtual #1007               // Method net/minecraftforge/client/event/RenderGuiOverlayEvent$Post.getOverlay:()Lnet/minecraftforge/client/gui/overlay/NamedGuiOverlay;
       4: invokevirtual #1013               // Method net/minecraftforge/client/gui/overlay/NamedGuiOverlay.id:()Lnet/minecraft/resources/ResourceLocation;
       7: getstatic     #1019               // Field net/minecraftforge/client/gui/overlay/VanillaGuiOverlay.HOTBAR:Lnet/minecraftforge/client/gui/overlay/VanillaGuiOverlay;
      10: invokevirtual #1020               // Method net/minecraftforge/client/gui/overlay/VanillaGuiOverlay.id:()Lnet/minecraft/resources/ResourceLocation;
      13: invokevirtual #1023               // Method net/minecraft/resources/ResourceLocation.equals:(Ljava/lang/Object;)Z
      16: ifne          20
      19: return
      20: invokestatic  #144                // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft;
      23: astore_1
      24: aload_1
      25: getfield      #148                // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
      28: ifnull        41
      31: aload_1
      32: getfield      #214                // Field net/minecraft/client/Minecraft.f_91066_:Lnet/minecraft/client/Options;
      35: getfield      #1026               // Field net/minecraft/client/Options.f_92062_:Z
      38: ifeq          42
      41: return
      42: aload_0
      43: invokevirtual #1030               // Method net/minecraftforge/client/event/RenderGuiOverlayEvent$Post.getGuiGraphics:()Lnet/minecraft/client/gui/GuiGraphics;
      46: astore_2
      47: aload_2
      48: invokestatic  #1034               // Method renderBallisticVestHud:(Lnet/minecraft/client/gui/GuiGraphics;)V
      51: aload_2
      52: aload_1
      53: invokestatic  #1038               // Method renderGrenadeFuseHud:(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/client/Minecraft;)V
      56: aload_2
      57: aload_1
      58: invokestatic  #1041               // Method renderNailGunAmmoHud:(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/client/Minecraft;)V
      61: aload_2
      62: aload_1
      63: invokestatic  #1044               // Method renderCrossbowAmmoHud:(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/client/Minecraft;)V
      66: aload_1
      67: getfield      #148                // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
      70: invokevirtual #1049               // Method net/minecraft/client/player/LocalPlayer.m_150108_:()Z
      73: ifne          100
      76: getstatic     #1051               // Field tacticalScopeProgress:F
      79: ldc_w         #349                // float 0.01f
      82: fcmpl
      83: ifgt          96
      86: aload_1
      87: getfield      #148                // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
      90: invokestatic  #1057               // Method com/ogaba/sa_combat/client/scope/TacticalCrossbowScopeClient.isScopingWithScopedCrossbow:(Lnet/minecraft/client/player/LocalPlayer;)Z
      93: ifeq          100
      96: aload_2
      97: invokestatic  #1062               // Method renderRealSpyglassOverlay:(Lnet/minecraft/client/gui/GuiGraphics;)V
     100: return

  private static void renderGrenadeFuseHud(net.minecraft.client.gui.GuiGraphics, net.minecraft.client.Minecraft);
    Code:
       0: aload_1
       1: getfield      #148                // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
       4: astore_2
       5: aload_2
       6: ifnull        26
       9: aload_2
      10: invokevirtual #1066               // Method net/minecraft/world/entity/player/Player.m_6117_:()Z
      13: ifeq          26
      16: aload_2
      17: invokevirtual #1069               // Method net/minecraft/world/entity/player/Player.m_7655_:()Lnet/minecraft/world/InteractionHand;
      20: getstatic     #179                // Field net/minecraft/world/InteractionHand.MAIN_HAND:Lnet/minecraft/world/InteractionHand;
      23: if_acmpeq     27
      26: return
      27: aload_2
      28: invokevirtual #154                // Method net/minecraft/world/entity/player/Player.m_21205_:()Lnet/minecraft/world/item/ItemStack;
      31: astore_3
      32: aload_3
      33: invokevirtual #163                // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
      36: astore        5
      38: aload         5
      40: instanceof    #165                // class com/ogaba/sa_combat/item/SpecialGrenadeItem
      43: ifeq          68
      46: aload         5
      48: checkcast     #165                // class com/ogaba/sa_combat/item/SpecialGrenadeItem
      51: astore        4
      53: aload         4
      55: invokevirtual #1072               // Method com/ogaba/sa_combat/item/SpecialGrenadeItem.hasCookableFuse:()Z
      58: ifeq          68
      61: aload_3
      62: invokestatic  #1075               // Method com/ogaba/sa_combat/item/SpecialGrenadeItem.isArmed:(Lnet/minecraft/world/item/ItemStack;)Z
      65: ifne          69
      68: return
      69: aload_3
      70: invokestatic  #1079               // Method com/ogaba/sa_combat/item/SpecialGrenadeItem.getFuseTimerProgress:(Lnet/minecraft/world/item/ItemStack;)F
      73: fstore        5
      75: ldc_w         #1080               // float 55.0f
      78: fload         5
      80: fmul
      81: invokestatic  #1084               // Method net/minecraft/util/Mth.m_14143_:(F)I
      84: iconst_0
      85: bipush        55
      87: invokestatic  #1088               // Method net/minecraft/util/Mth.m_14045_:(III)I
      90: istore        6
      92: aload_0
      93: invokevirtual #1091               // Method net/minecraft/client/gui/GuiGraphics.m_280182_:()I
      96: bipush        64
      98: isub
      99: iconst_2
     100: idiv
     101: istore        7
     103: aload_0
     104: invokevirtual #1094               // Method net/minecraft/client/gui/GuiGraphics.m_280206_:()I
     107: iconst_2
     108: idiv
     109: bipush        27
     111: iadd
     112: istore        8
     114: invokestatic  #1099               // Method com/mojang/blaze3d/systems/RenderSystem.enableBlend:()V
     117: invokestatic  #1102               // Method com/mojang/blaze3d/systems/RenderSystem.defaultBlendFunc:()V
     120: iload         6
     122: ifle          151
     125: aload_0
     126: getstatic     #1104               // Field GRENADE_FUSE_FILL:Lnet/minecraft/resources/ResourceLocation;
     129: iload         7
     131: iconst_5
     132: iadd
     133: iload         8
     135: iconst_2
     136: iadd
     137: ldc_w         #273                // float 5.0f
     140: fconst_2
     141: iload         6
     143: iconst_4
     144: bipush        64
     146: bipush        10
     148: invokevirtual #1108               // Method net/minecraft/client/gui/GuiGraphics.m_280163_:(Lnet/minecraft/resources/ResourceLocation;IIFFIIII)V
     151: aload_0
     152: getstatic     #1110               // Field GRENADE_FUSE_FRAME:Lnet/minecraft/resources/ResourceLocation;
     155: iload         7
     157: iload         8
     159: fconst_0
     160: fconst_0
     161: bipush        64
     163: bipush        10
     165: bipush        64
     167: bipush        10
     169: invokevirtual #1108               // Method net/minecraft/client/gui/GuiGraphics.m_280163_:(Lnet/minecraft/resources/ResourceLocation;IIFFIIII)V
     172: invokestatic  #1113               // Method com/mojang/blaze3d/systems/RenderSystem.disableBlend:()V
     175: return

  private static void renderBallisticVestHud(net.minecraft.client.gui.GuiGraphics);
    Code:
       0: invokestatic  #1124               // Method com/ogaba/sa_combat/client/armor/ClientBallisticProtectionData.shouldRender:()Z
       3: ifne          7
       6: return
       7: iconst_1
       8: invokestatic  #1127               // Method com/ogaba/sa_combat/client/armor/ClientBallisticProtectionData.getMaxProtection:()I
      11: invokestatic  #1131               // Method java/lang/Math.max:(II)I
      14: istore_1
      15: invokestatic  #1134               // Method com/ogaba/sa_combat/client/armor/ClientBallisticProtectionData.getProtection:()I
      18: iconst_0
      19: iload_1
      20: invokestatic  #1088               // Method net/minecraft/util/Mth.m_14045_:(III)I
      23: istore_2
      24: iload_2
      25: i2f
      26: iload_1
      27: i2f
      28: fdiv
      29: fconst_0
      30: fconst_1
      31: invokestatic  #238                // Method net/minecraft/util/Mth.m_14036_:(FFF)F
      34: fstore_3
      35: fload_3
      36: ldc_w         #1135               // float 16.0f
      39: fmul
      40: invokestatic  #1138               // Method net/minecraft/util/Mth.m_14167_:(F)I
      43: istore        4
      45: iload         4
      47: iconst_0
      48: bipush        16
      50: invokestatic  #1088               // Method net/minecraft/util/Mth.m_14045_:(III)I
      53: istore        4
      55: bipush        20
      57: istore        5
      59: aload_0
      60: invokevirtual #1094               // Method net/minecraft/client/gui/GuiGraphics.m_280206_:()I
      63: bipush        30
      65: isub
      66: bipush        20
      68: isub
      69: istore        6
      71: ldc_w         #1139               // float 1.875f
      74: fstore        7
      76: ldc_w         #1139               // float 1.875f
      79: fstore        8
      81: aload_0
      82: invokevirtual #1142               // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
      85: invokevirtual #1145               // Method com/mojang/blaze3d/vertex/PoseStack.m_85836_:()V
      88: aload_0
      89: invokevirtual #1142               // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
      92: iload         5
      94: i2f
      95: iload         6
      97: i2f
      98: fconst_0
      99: invokevirtual #1149               // Method com/mojang/blaze3d/vertex/PoseStack.m_252880_:(FFF)V
     102: aload_0
     103: invokevirtual #1142               // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
     106: fload         7
     108: fload         8
     110: fconst_1
     111: invokevirtual #1152               // Method com/mojang/blaze3d/vertex/PoseStack.m_85841_:(FFF)V
     114: aload_0
     115: getstatic     #1154               // Field BALLISTIC_VEST_BG:Lnet/minecraft/resources/ResourceLocation;
     118: iconst_0
     119: iconst_0
     120: fconst_0
     121: fconst_0
     122: bipush        16
     124: bipush        16
     126: bipush        16
     128: bipush        16
     130: invokevirtual #1108               // Method net/minecraft/client/gui/GuiGraphics.m_280163_:(Lnet/minecraft/resources/ResourceLocation;IIFFIIII)V
     133: iload         4
     135: ifle          167
     138: bipush        16
     140: iload         4
     142: isub
     143: istore        9
     145: aload_0
     146: getstatic     #1156               // Field BALLISTIC_VEST_FILL:Lnet/minecraft/resources/ResourceLocation;
     149: iconst_0
     150: iload         9
     152: fconst_0
     153: iload         9
     155: i2f
     156: bipush        16
     158: iload         4
     160: bipush        16
     162: bipush        16
     164: invokevirtual #1108               // Method net/minecraft/client/gui/GuiGraphics.m_280163_:(Lnet/minecraft/resources/ResourceLocation;IIFFIIII)V
     167: aload_0
     168: invokevirtual #1142               // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
     171: invokevirtual #1159               // Method com/mojang/blaze3d/vertex/PoseStack.m_85849_:()V
     174: return

  private static void renderNailGunAmmoHud(net.minecraft.client.gui.GuiGraphics, net.minecraft.client.Minecraft);
    Code:
       0: aload_1
       1: getfield      #148                // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
       4: ifnonnull     8
       7: return
       8: aload_1
       9: getfield      #148                // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
      12: invokevirtual #1168               // Method net/minecraft/client/player/LocalPlayer.m_21205_:()Lnet/minecraft/world/item/ItemStack;
      15: astore_2
      16: aload_2
      17: invokevirtual #163                // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
      20: instanceof    #167                // class com/ogaba/sa_combat/combat/weapon/NailGunItem
      23: ifne          27
      26: return
      27: aload_2
      28: invokestatic  #570                // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.getMagazine:(Lnet/minecraft/world/item/ItemStack;)I
      31: istore_3
      32: aload_1
      33: getfield      #148                // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
      36: invokestatic  #1172               // Method refreshInventoryHudCache:(Lnet/minecraft/world/entity/player/Player;)V
      39: getstatic     #1174               // Field cachedNailReserve:I
      42: istore        4
      44: aload_0
      45: aload_1
      46: invokestatic  #1177               // Method nailIconStack:()Lnet/minecraft/world/item/ItemStack;
      49: iload_3
      50: invokestatic  #976                // Method java/lang/String.valueOf:(I)Ljava/lang/String;
      53: iload         4
      55: invokedynamic #1181,  0           // InvokeDynamic #4:makeConcatWithConstants:(I)Ljava/lang/String;
      60: iload_3
      61: ifgt          68
      64: iconst_1
      65: goto          69
      68: iconst_0
      69: aload_2
      70: invokestatic  #544                // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.isReloading:(Lnet/minecraft/world/item/ItemStack;)Z
      73: ifne          83
      76: aload_2
      77: invokestatic  #547                // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.isClientReloadAnimationActive:(Lnet/minecraft/world/item/ItemStack;)Z
      80: ifeq          87
      83: iconst_1
      84: goto          88
      87: iconst_0
      88: invokestatic  #1185               // Method renderAmmoHud:(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/client/Minecraft;Lnet/minecraft/world/item/ItemStack;Ljava/lang/String;Ljava/lang/String;ZZ)V
      91: return

  private static void renderCrossbowAmmoHud(net.minecraft.client.gui.GuiGraphics, net.minecraft.client.Minecraft);
    Code:
       0: aload_1
       1: getfield      #148                // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
       4: ifnonnull     8
       7: return
       8: aload_1
       9: getfield      #148                // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
      12: invokevirtual #1168               // Method net/minecraft/client/player/LocalPlayer.m_21205_:()Lnet/minecraft/world/item/ItemStack;
      15: astore_2
      16: aload_2
      17: invokevirtual #163                // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
      20: instanceof    #46                 // class com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem
      23: ifne          45
      26: aload_1
      27: getfield      #148                // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
      30: invokevirtual #1188               // Method net/minecraft/client/player/LocalPlayer.m_21206_:()Lnet/minecraft/world/item/ItemStack;
      33: astore_2
      34: aload_2
      35: invokevirtual #163                // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
      38: instanceof    #46                 // class com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem
      41: ifne          45
      44: return
      45: aload_2
      46: invokestatic  #1192               // Method com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem.getSelectedBoltType:(Lnet/minecraft/world/item/ItemStack;)Lcom/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem$BoltType;
      49: astore_3
      50: aload_3
      51: getstatic     #1196               // Field com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem$BoltType.IMPROVISED:Lcom/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem$BoltType;
      54: if_acmpne     63
      57: invokestatic  #1199               // Method improvisedBoltIconStack:()Lnet/minecraft/world/item/ItemStack;
      60: goto          66
      63: invokestatic  #1202               // Method tacticalBoltIconStack:()Lnet/minecraft/world/item/ItemStack;
      66: astore        4
      68: aload_1
      69: getfield      #148                // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
      72: invokestatic  #1172               // Method refreshInventoryHudCache:(Lnet/minecraft/world/entity/player/Player;)V
      75: aload_3
      76: getstatic     #1196               // Field com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem$BoltType.IMPROVISED:Lcom/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem$BoltType;
      79: if_acmpne     88
      82: getstatic     #1204               // Field cachedImprovisedBoltReserve:I
      85: goto          91
      88: getstatic     #1206               // Field cachedTacticalBoltReserve:I
      91: istore        5
      93: aload_2
      94: invokestatic  #1209               // Method com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem.isLoaded:(Lnet/minecraft/world/item/ItemStack;)Z
      97: istore        6
      99: aload_2
     100: invokestatic  #1212               // Method com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem.isLoading:(Lnet/minecraft/world/item/ItemStack;)Z
     103: ifeq          117
     106: aload_2
     107: invokestatic  #1215               // Method com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem.hasAutoMechanism:(Lnet/minecraft/world/item/ItemStack;)Z
     110: ifne          117
     113: iconst_1
     114: goto          118
     117: iconst_0
     118: istore        7
     120: aload_0
     121: aload_1
     122: aload         4
     124: iload         6
     126: ifeq          135
     129: ldc_w         #1217               // String 1
     132: goto          138
     135: ldc_w         #989                // String 0
     138: iload         5
     140: invokedynamic #1181,  0           // InvokeDynamic #4:makeConcatWithConstants:(I)Ljava/lang/String;
     145: iload         6
     147: ifne          159
     150: iload         5
     152: ifgt          159
     155: iconst_1
     156: goto          160
     159: iconst_0
     160: iload         7
     162: invokestatic  #1185               // Method renderAmmoHud:(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/client/Minecraft;Lnet/minecraft/world/item/ItemStack;Ljava/lang/String;Ljava/lang/String;ZZ)V
     165: return

  private static void refreshInventoryHudCache(net.minecraft.world.entity.player.Player);
    Code:
       0: aload_0
       1: ifnull        24
       4: getstatic     #1223               // Field cachedInventoryPlayerId:I
       7: aload_0
       8: invokevirtual #1226               // Method net/minecraft/world/entity/player/Player.m_19879_:()I
      11: if_icmpne     25
      14: getstatic     #1228               // Field cachedInventoryTick:I
      17: aload_0
      18: getfield      #1231               // Field net/minecraft/world/entity/player/Player.f_19797_:I
      21: if_icmpne     25
      24: return
      25: aload_0
      26: invokevirtual #1226               // Method net/minecraft/world/entity/player/Player.m_19879_:()I
      29: putstatic     #1223               // Field cachedInventoryPlayerId:I
      32: aload_0
      33: getfield      #1231               // Field net/minecraft/world/entity/player/Player.f_19797_:I
      36: putstatic     #1228               // Field cachedInventoryTick:I
      39: iconst_0
      40: putstatic     #1174               // Field cachedNailReserve:I
      43: iconst_0
      44: putstatic     #1206               // Field cachedTacticalBoltReserve:I
      47: iconst_0
      48: putstatic     #1204               // Field cachedImprovisedBoltReserve:I
      51: aload_0
      52: invokevirtual #1235               // Method net/minecraft/world/entity/player/Player.m_150109_:()Lnet/minecraft/world/entity/player/Inventory;
      55: getfield      #1241               // Field net/minecraft/world/entity/player/Inventory.f_35974_:Lnet/minecraft/core/NonNullList;
      58: invokevirtual #1244               // Method net/minecraft/core/NonNullList.iterator:()Ljava/util/Iterator;
      61: astore_1
      62: aload_1
      63: invokeinterface #942,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
      68: ifeq          186
      71: aload_1
      72: invokeinterface #945,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      77: checkcast     #159                // class net/minecraft/world/item/ItemStack
      80: astore_2
      81: aload_2
      82: invokevirtual #629                // Method net/minecraft/world/item/ItemStack.m_41619_:()Z
      85: ifeq          91
      88: goto          62
      91: getstatic     #1246               // Field NAIL_ITEM_ID:Lnet/minecraft/resources/ResourceLocation;
      94: getstatic     #1252               // Field net/minecraftforge/registries/ForgeRegistries.ITEMS:Lnet/minecraftforge/registries/IForgeRegistry;
      97: aload_2
      98: invokevirtual #163                // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
     101: invokeinterface #1258,  2         // InterfaceMethod net/minecraftforge/registries/IForgeRegistry.getKey:(Ljava/lang/Object;)Lnet/minecraft/resources/ResourceLocation;
     106: invokevirtual #1023               // Method net/minecraft/resources/ResourceLocation.equals:(Ljava/lang/Object;)Z
     109: ifeq          126
     112: getstatic     #1174               // Field cachedNailReserve:I
     115: aload_2
     116: invokevirtual #1261               // Method net/minecraft/world/item/ItemStack.m_41613_:()I
     119: iadd
     120: putstatic     #1174               // Field cachedNailReserve:I
     123: goto          183
     126: aload_2
     127: getstatic     #1266               // Field com/ogaba/sa_combat/registry/ModItems.TACTICAL_BOLT:Lnet/minecraftforge/registries/RegistryObject;
     130: invokevirtual #526                // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object;
     133: checkcast     #1268               // class net/minecraft/world/item/Item
     136: invokevirtual #1272               // Method net/minecraft/world/item/ItemStack.m_150930_:(Lnet/minecraft/world/item/Item;)Z
     139: ifeq          156
     142: getstatic     #1206               // Field cachedTacticalBoltReserve:I
     145: aload_2
     146: invokevirtual #1261               // Method net/minecraft/world/item/ItemStack.m_41613_:()I
     149: iadd
     150: putstatic     #1206               // Field cachedTacticalBoltReserve:I
     153: goto          183
     156: aload_2
     157: getstatic     #1275               // Field com/ogaba/sa_combat/registry/ModItems.IMPROVISED_BOLT:Lnet/minecraftforge/registries/RegistryObject;
     160: invokevirtual #526                // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object;
     163: checkcast     #1268               // class net/minecraft/world/item/Item
     166: invokevirtual #1272               // Method net/minecraft/world/item/ItemStack.m_150930_:(Lnet/minecraft/world/item/Item;)Z
     169: ifeq          183
     172: getstatic     #1204               // Field cachedImprovisedBoltReserve:I
     175: aload_2
     176: invokevirtual #1261               // Method net/minecraft/world/item/ItemStack.m_41613_:()I
     179: iadd
     180: putstatic     #1204               // Field cachedImprovisedBoltReserve:I
     183: goto          62
     186: return

  private static void renderAmmoHud(net.minecraft.client.gui.GuiGraphics, net.minecraft.client.Minecraft, net.minecraft.world.item.ItemStack, java.lang.String, java.lang.String, boolean, boolean);
    Code:
       0: ldc_w         #1276               // float 1.4f
       3: fstore        7
       5: ldc_w         #1277               // float 1.8f
       8: fstore        8
      10: ldc_w         #1278               // float 1.2f
      13: fstore        9
      15: ldc_w         #1135               // float 16.0f
      18: fload         7
      20: fmul
      21: invokestatic  #1281               // Method java/lang/Math.round:(F)I
      24: istore        10
      26: aload_1
      27: getfield      #1285               // Field net/minecraft/client/Minecraft.f_91062_:Lnet/minecraft/client/gui/Font;
      30: aload_3
      31: invokevirtual #1291               // Method net/minecraft/client/gui/Font.m_92895_:(Ljava/lang/String;)I
      34: i2f
      35: fload         8
      37: fmul
      38: invokestatic  #1281               // Method java/lang/Math.round:(F)I
      41: istore        11
      43: aload_1
      44: getfield      #1285               // Field net/minecraft/client/Minecraft.f_91062_:Lnet/minecraft/client/gui/Font;
      47: aload         4
      49: invokevirtual #1291               // Method net/minecraft/client/gui/Font.m_92895_:(Ljava/lang/String;)I
      52: i2f
      53: fload         9
      55: fmul
      56: invokestatic  #1281               // Method java/lang/Math.round:(F)I
      59: istore        12
      61: iload         10
      63: bipush        8
      65: iadd
      66: iload         11
      68: iadd
      69: iconst_3
      70: iadd
      71: iload         12
      73: iadd
      74: istore        13
      76: iload         10
      78: aload_1
      79: getfield      #1285               // Field net/minecraft/client/Minecraft.f_91062_:Lnet/minecraft/client/gui/Font;
      82: invokestatic  #1297               // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
      85: pop
      86: ldc_w         #1298               // float 9.0f
      89: fload         8
      91: fmul
      92: invokestatic  #1281               // Method java/lang/Math.round:(F)I
      95: invokestatic  #1131               // Method java/lang/Math.max:(II)I
      98: istore        14
     100: aload_0
     101: invokevirtual #1091               // Method net/minecraft/client/gui/GuiGraphics.m_280182_:()I
     104: bipush        16
     106: isub
     107: iload         13
     109: isub
     110: istore        15
     112: aload_0
     113: invokevirtual #1094               // Method net/minecraft/client/gui/GuiGraphics.m_280206_:()I
     116: bipush        16
     118: isub
     119: iload         14
     121: isub
     122: istore        16
     124: iload         6
     126: ifeq          189
     129: ldc_w         #1300               // String Reloading...
     132: astore        17
     134: aload_0
     135: invokevirtual #1091               // Method net/minecraft/client/gui/GuiGraphics.m_280182_:()I
     138: bipush        16
     140: isub
     141: aload_1
     142: getfield      #1285               // Field net/minecraft/client/Minecraft.f_91062_:Lnet/minecraft/client/gui/Font;
     145: aload         17
     147: invokevirtual #1291               // Method net/minecraft/client/gui/Font.m_92895_:(Ljava/lang/String;)I
     150: isub
     151: istore        18
     153: iload         16
     155: aload_1
     156: getfield      #1285               // Field net/minecraft/client/Minecraft.f_91062_:Lnet/minecraft/client/gui/Font;
     159: invokestatic  #1297               // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
     162: pop
     163: bipush        9
     165: isub
     166: iconst_3
     167: isub
     168: istore        19
     170: aload_0
     171: aload_1
     172: getfield      #1285               // Field net/minecraft/client/Minecraft.f_91062_:Lnet/minecraft/client/gui/Font;
     175: aload         17
     177: iload         18
     179: iload         19
     181: ldc_w         #1301               // int 16765517
     184: iconst_1
     185: invokevirtual #1305               // Method net/minecraft/client/gui/GuiGraphics.m_280056_:(Lnet/minecraft/client/gui/Font;Ljava/lang/String;IIIZ)I
     188: pop
     189: iload         15
     191: istore        17
     193: iload         16
     195: iload         14
     197: iload         10
     199: isub
     200: iconst_2
     201: idiv
     202: iadd
     203: istore        18
     205: aload_2
     206: invokevirtual #629                // Method net/minecraft/world/item/ItemStack.m_41619_:()Z
     209: ifne          259
     212: aload_0
     213: invokevirtual #1142               // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
     216: invokevirtual #1145               // Method com/mojang/blaze3d/vertex/PoseStack.m_85836_:()V
     219: aload_0
     220: invokevirtual #1142               // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
     223: iload         17
     225: i2f
     226: iload         18
     228: i2f
     229: fconst_0
     230: invokevirtual #1149               // Method com/mojang/blaze3d/vertex/PoseStack.m_252880_:(FFF)V
     233: aload_0
     234: invokevirtual #1142               // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
     237: fload         7
     239: fload         7
     241: fconst_1
     242: invokevirtual #1152               // Method com/mojang/blaze3d/vertex/PoseStack.m_85841_:(FFF)V
     245: aload_0
     246: aload_2
     247: iconst_0
     248: iconst_0
     249: invokevirtual #1309               // Method net/minecraft/client/gui/GuiGraphics.m_280480_:(Lnet/minecraft/world/item/ItemStack;II)V
     252: aload_0
     253: invokevirtual #1142               // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
     256: invokevirtual #1159               // Method com/mojang/blaze3d/vertex/PoseStack.m_85849_:()V
     259: iload         17
     261: iload         10
     263: iadd
     264: bipush        8
     266: iadd
     267: istore        19
     269: iload         5
     271: ifeq          280
     274: ldc_w         #1310               // int 16733525
     277: goto          283
     280: ldc_w         #1311               // int 16777215
     283: istore        20
     285: aload_0
     286: invokevirtual #1142               // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
     289: invokevirtual #1145               // Method com/mojang/blaze3d/vertex/PoseStack.m_85836_:()V
     292: aload_0
     293: invokevirtual #1142               // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
     296: iload         19
     298: i2f
     299: iload         16
     301: i2f
     302: iload         14
     304: aload_1
     305: getfield      #1285               // Field net/minecraft/client/Minecraft.f_91062_:Lnet/minecraft/client/gui/Font;
     308: invokestatic  #1297               // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
     311: pop
     312: ldc_w         #1298               // float 9.0f
     315: fload         8
     317: fmul
     318: invokestatic  #1281               // Method java/lang/Math.round:(F)I
     321: isub
     322: i2f
     323: fconst_2
     324: fdiv
     325: fadd
     326: fconst_0
     327: invokevirtual #1149               // Method com/mojang/blaze3d/vertex/PoseStack.m_252880_:(FFF)V
     330: aload_0
     331: invokevirtual #1142               // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
     334: fload         8
     336: fload         8
     338: fconst_1
     339: invokevirtual #1152               // Method com/mojang/blaze3d/vertex/PoseStack.m_85841_:(FFF)V
     342: aload_0
     343: aload_1
     344: getfield      #1285               // Field net/minecraft/client/Minecraft.f_91062_:Lnet/minecraft/client/gui/Font;
     347: aload_3
     348: iconst_0
     349: iconst_0
     350: iload         20
     352: iconst_1
     353: invokevirtual #1305               // Method net/minecraft/client/gui/GuiGraphics.m_280056_:(Lnet/minecraft/client/gui/Font;Ljava/lang/String;IIIZ)I
     356: pop
     357: aload_0
     358: invokevirtual #1142               // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
     361: invokevirtual #1159               // Method com/mojang/blaze3d/vertex/PoseStack.m_85849_:()V
     364: aload_0
     365: invokevirtual #1142               // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
     368: invokevirtual #1145               // Method com/mojang/blaze3d/vertex/PoseStack.m_85836_:()V
     371: aload_0
     372: invokevirtual #1142               // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
     375: iload         19
     377: iload         11
     379: iadd
     380: iconst_3
     381: iadd
     382: i2f
     383: iload         16
     385: i2f
     386: iload         14
     388: aload_1
     389: getfield      #1285               // Field net/minecraft/client/Minecraft.f_91062_:Lnet/minecraft/client/gui/Font;
     392: invokestatic  #1297               // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
     395: pop
     396: ldc_w         #1298               // float 9.0f
     399: fload         9
     401: fmul
     402: invokestatic  #1281               // Method java/lang/Math.round:(F)I
     405: isub
     406: i2f
     407: fconst_2
     408: fdiv
     409: fadd
     410: fconst_0
     411: invokevirtual #1149               // Method com/mojang/blaze3d/vertex/PoseStack.m_252880_:(FFF)V
     414: aload_0
     415: invokevirtual #1142               // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
     418: fload         9
     420: fload         9
     422: fconst_1
     423: invokevirtual #1152               // Method com/mojang/blaze3d/vertex/PoseStack.m_85841_:(FFF)V
     426: aload_0
     427: aload_1
     428: getfield      #1285               // Field net/minecraft/client/Minecraft.f_91062_:Lnet/minecraft/client/gui/Font;
     431: aload         4
     433: iconst_0
     434: iconst_0
     435: ldc_w         #1312               // int 11184810
     438: iconst_1
     439: invokevirtual #1305               // Method net/minecraft/client/gui/GuiGraphics.m_280056_:(Lnet/minecraft/client/gui/Font;Ljava/lang/String;IIIZ)I
     442: pop
     443: aload_0
     444: invokevirtual #1142               // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
     447: invokevirtual #1159               // Method com/mojang/blaze3d/vertex/PoseStack.m_85849_:()V
     450: return

  private static net.minecraft.world.item.ItemStack nailIconStack();
    Code:
       0: getstatic     #1335               // Field nailIconResolved:Z
       3: ifne          46
       6: iconst_1
       7: putstatic     #1335               // Field nailIconResolved:Z
      10: getstatic     #1252               // Field net/minecraftforge/registries/ForgeRegistries.ITEMS:Lnet/minecraftforge/registries/IForgeRegistry;
      13: getstatic     #1246               // Field NAIL_ITEM_ID:Lnet/minecraft/resources/ResourceLocation;
      16: invokeinterface #1339,  2         // InterfaceMethod net/minecraftforge/registries/IForgeRegistry.getValue:(Lnet/minecraft/resources/ResourceLocation;)Ljava/lang/Object;
      21: checkcast     #1268               // class net/minecraft/world/item/Item
      24: astore_0
      25: aload_0
      26: ifnonnull     35
      29: getstatic     #1342               // Field net/minecraft/world/item/ItemStack.f_41583_:Lnet/minecraft/world/item/ItemStack;
      32: goto          43
      35: new           #159                // class net/minecraft/world/item/ItemStack
      38: dup
      39: aload_0
      40: invokespecial #1345               // Method net/minecraft/world/item/ItemStack."<init>":(Lnet/minecraft/world/level/ItemLike;)V
      43: putstatic     #1347               // Field cachedNailIcon:Lnet/minecraft/world/item/ItemStack;
      46: getstatic     #1347               // Field cachedNailIcon:Lnet/minecraft/world/item/ItemStack;
      49: areturn

  private static net.minecraft.world.item.ItemStack tacticalBoltIconStack();
    Code:
       0: getstatic     #1351               // Field cachedTacticalBoltIcon:Lnet/minecraft/world/item/ItemStack;
       3: invokevirtual #629                // Method net/minecraft/world/item/ItemStack.m_41619_:()Z
       6: ifeq          28
       9: new           #159                // class net/minecraft/world/item/ItemStack
      12: dup
      13: getstatic     #1266               // Field com/ogaba/sa_combat/registry/ModItems.TACTICAL_BOLT:Lnet/minecraftforge/registries/RegistryObject;
      16: invokevirtual #526                // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object;
      19: checkcast     #1353               // class net/minecraft/world/level/ItemLike
      22: invokespecial #1345               // Method net/minecraft/world/item/ItemStack."<init>":(Lnet/minecraft/world/level/ItemLike;)V
      25: putstatic     #1351               // Field cachedTacticalBoltIcon:Lnet/minecraft/world/item/ItemStack;
      28: getstatic     #1351               // Field cachedTacticalBoltIcon:Lnet/minecraft/world/item/ItemStack;
      31: areturn

  private static net.minecraft.world.item.ItemStack improvisedBoltIconStack();
    Code:
       0: getstatic     #1355               // Field cachedImprovisedBoltIcon:Lnet/minecraft/world/item/ItemStack;
       3: invokevirtual #629                // Method net/minecraft/world/item/ItemStack.m_41619_:()Z
       6: ifeq          28
       9: new           #159                // class net/minecraft/world/item/ItemStack
      12: dup
      13: getstatic     #1275               // Field com/ogaba/sa_combat/registry/ModItems.IMPROVISED_BOLT:Lnet/minecraftforge/registries/RegistryObject;
      16: invokevirtual #526                // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object;
      19: checkcast     #1353               // class net/minecraft/world/level/ItemLike
      22: invokespecial #1345               // Method net/minecraft/world/item/ItemStack."<init>":(Lnet/minecraft/world/level/ItemLike;)V
      25: putstatic     #1355               // Field cachedImprovisedBoltIcon:Lnet/minecraft/world/item/ItemStack;
      28: getstatic     #1355               // Field cachedImprovisedBoltIcon:Lnet/minecraft/world/item/ItemStack;
      31: areturn

  private static void renderRealSpyglassOverlay(net.minecraft.client.gui.GuiGraphics);
    Code:
       0: invokestatic  #144                // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft;
       3: astore_1
       4: invokestatic  #1362               // Method vanillaSpyglassScopeScale:()F
       7: fstore_2
       8: getstatic     #1364               // Field renderSpyglassOverlayMethod:Ljava/lang/reflect/Method;
      11: ifnonnull     53
      14: aload_1
      15: getfield      #1368               // Field net/minecraft/client/Minecraft.f_91065_:Lnet/minecraft/client/gui/Gui;
      18: invokevirtual #1372               // Method java/lang/Object.getClass:()Ljava/lang/Class;
      21: ldc_w         #1374               // String renderSpyglassOverlay
      24: iconst_2
      25: anewarray     #1376               // class java/lang/Class
      28: dup
      29: iconst_0
      30: ldc_w         #1059               // class net/minecraft/client/gui/GuiGraphics
      33: aastore
      34: dup
      35: iconst_1
      36: getstatic     #1382               // Field java/lang/Float.TYPE:Ljava/lang/Class;
      39: aastore
      40: invokevirtual #1386               // Method java/lang/Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
      43: putstatic     #1364               // Field renderSpyglassOverlayMethod:Ljava/lang/reflect/Method;
      46: getstatic     #1364               // Field renderSpyglassOverlayMethod:Ljava/lang/reflect/Method;
      49: iconst_1
      50: invokevirtual #1391               // Method java/lang/reflect/Method.setAccessible:(Z)V
      53: getstatic     #1364               // Field renderSpyglassOverlayMethod:Ljava/lang/reflect/Method;
      56: aload_1
      57: getfield      #1368               // Field net/minecraft/client/Minecraft.f_91065_:Lnet/minecraft/client/gui/Gui;
      60: iconst_2
      61: anewarray     #4                  // class java/lang/Object
      64: dup
      65: iconst_0
      66: aload_0
      67: aastore
      68: dup
      69: iconst_1
      70: fload_2
      71: invokestatic  #1394               // Method java/lang/Float.valueOf:(F)Ljava/lang/Float;
      74: aastore
      75: invokevirtual #1398               // Method java/lang/reflect/Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
      78: pop
      79: return
      80: astore_3
      81: aload_0
      82: fload_2
      83: invokestatic  #1404               // Method renderVanillaSpyglassOverlayFallback:(Lnet/minecraft/client/gui/GuiGraphics;F)V
      86: return
    Exception table:
       from    to  target type
           8    79    80   Class java/lang/ReflectiveOperationException
           8    79    80   Class java/lang/RuntimeException

  private static float vanillaSpyglassScopeScale();
    Code:
       0: invokestatic  #1410               // Method easedScopeProgress:()F
       3: ldc_w         #262                // float 0.5f
       6: ldc_w         #1411               // float 1.125f
       9: invokestatic  #256                // Method net/minecraft/util/Mth.m_14179_:(FFF)F
      12: freturn

  private static float easedScopeProgress();
    Code:
       0: getstatic     #1051               // Field tacticalScopeProgress:F
       3: fconst_0
       4: fconst_1
       5: invokestatic  #238                // Method net/minecraft/util/Mth.m_14036_:(FFF)F
       8: fstore_0
       9: fload_0
      10: fload_0
      11: fmul
      12: ldc_w         #271                // float 3.0f
      15: fconst_2
      16: fload_0
      17: fmul
      18: fsub
      19: fmul
      20: freturn

  private static void renderVanillaSpyglassOverlayFallback(net.minecraft.client.gui.GuiGraphics, float);
    Code:
       0: aload_0
       1: invokevirtual #1091               // Method net/minecraft/client/gui/GuiGraphics.m_280182_:()I
       4: istore_2
       5: aload_0
       6: invokevirtual #1094               // Method net/minecraft/client/gui/GuiGraphics.m_280206_:()I
       9: istore_3
      10: iload_2
      11: ifle          18
      14: iload_3
      15: ifgt          19
      18: return
      19: iload_2
      20: iload_3
      21: invokestatic  #1414               // Method java/lang/Math.min:(II)I
      24: i2f
      25: fstore        4
      27: iload_2
      28: i2f
      29: fload         4
      31: fdiv
      32: iload_3
      33: i2f
      34: fload         4
      36: fdiv
      37: invokestatic  #1417               // Method java/lang/Math.min:(FF)F
      40: fload_1
      41: fmul
      42: fstore        5
      44: fload         4
      46: fload         5
      48: fmul
      49: invokestatic  #1084               // Method net/minecraft/util/Mth.m_14143_:(F)I
      52: istore        6
      54: fload         4
      56: fload         5
      58: fmul
      59: invokestatic  #1084               // Method net/minecraft/util/Mth.m_14143_:(F)I
      62: istore        7
      64: iload_2
      65: iload         6
      67: isub
      68: iconst_2
      69: idiv
      70: istore        8
      72: iload_3
      73: iload         7
      75: isub
      76: iconst_2
      77: idiv
      78: istore        9
      80: iload         8
      82: iload         6
      84: iadd
      85: istore        10
      87: iload         9
      89: iload         7
      91: iadd
      92: istore        11
      94: invokestatic  #1420               // Method com/mojang/blaze3d/systems/RenderSystem.disableDepthTest:()V
      97: iconst_0
      98: invokestatic  #1423               // Method com/mojang/blaze3d/systems/RenderSystem.depthMask:(Z)V
     101: invokestatic  #1099               // Method com/mojang/blaze3d/systems/RenderSystem.enableBlend:()V
     104: invokestatic  #1102               // Method com/mojang/blaze3d/systems/RenderSystem.defaultBlendFunc:()V
     107: aload_0
     108: getstatic     #1425               // Field VANILLA_SPYGLASS_SCOPE:Lnet/minecraft/resources/ResourceLocation;
     111: iload         8
     113: iload         9
     115: bipush        -90
     117: fconst_0
     118: fconst_0
     119: iload         6
     121: iload         7
     123: iload         6
     125: iload         7
     127: invokevirtual #1429               // Method net/minecraft/client/gui/GuiGraphics.m_280398_:(Lnet/minecraft/resources/ResourceLocation;IIIFFIIII)V
     130: aload_0
     131: invokestatic  #1435               // Method net/minecraft/client/renderer/RenderType.m_286086_:()Lnet/minecraft/client/renderer/RenderType;
     134: iconst_0
     135: iload         11
     137: iload_2
     138: iload_3
     139: bipush        -90
     141: ldc_w         #1436               // int -16777216
     144: invokevirtual #1440               // Method net/minecraft/client/gui/GuiGraphics.m_285795_:(Lnet/minecraft/client/renderer/RenderType;IIIIII)V
     147: aload_0
     148: invokestatic  #1435               // Method net/minecraft/client/renderer/RenderType.m_286086_:()Lnet/minecraft/client/renderer/RenderType;
     151: iconst_0
     152: iconst_0
     153: iload_2
     154: iload         9
     156: bipush        -90
     158: ldc_w         #1436               // int -16777216
     161: invokevirtual #1440               // Method net/minecraft/client/gui/GuiGraphics.m_285795_:(Lnet/minecraft/client/renderer/RenderType;IIIIII)V
     164: aload_0
     165: invokestatic  #1435               // Method net/minecraft/client/renderer/RenderType.m_286086_:()Lnet/minecraft/client/renderer/RenderType;
     168: iconst_0
     169: iload         9
     171: iload         8
     173: iload         11
     175: bipush        -90
     177: ldc_w         #1436               // int -16777216
     180: invokevirtual #1440               // Method net/minecraft/client/gui/GuiGraphics.m_285795_:(Lnet/minecraft/client/renderer/RenderType;IIIIII)V
     183: aload_0
     184: invokestatic  #1435               // Method net/minecraft/client/renderer/RenderType.m_286086_:()Lnet/minecraft/client/renderer/RenderType;
     187: iload         10
     189: iload         9
     191: iload_2
     192: iload         11
     194: bipush        -90
     196: ldc_w         #1436               // int -16777216
     199: invokevirtual #1440               // Method net/minecraft/client/gui/GuiGraphics.m_285795_:(Lnet/minecraft/client/renderer/RenderType;IIIIII)V
     202: iconst_1
     203: invokestatic  #1423               // Method com/mojang/blaze3d/systems/RenderSystem.depthMask:(Z)V
     206: invokestatic  #1102               // Method com/mojang/blaze3d/systems/RenderSystem.defaultBlendFunc:()V
     209: invokestatic  #1443               // Method com/mojang/blaze3d/systems/RenderSystem.enableDepthTest:()V
     212: return

  public static void onClientLoggingIn(net.minecraftforge.client.event.ClientPlayerNetworkEvent$LoggingIn);
    Code:
       0: invokestatic  #1457               // Method resetClientSessionState:()V
       3: return

  public static void onClientLoggingOut(net.minecraftforge.client.event.ClientPlayerNetworkEvent$LoggingOut);
    Code:
       0: invokestatic  #1457               // Method resetClientSessionState:()V
       3: return

  private static void resetClientSessionState();
    Code:
       0: iconst_0
       1: iconst_0
       2: invokestatic  #1465               // Method com/ogaba/sa_combat/client/armor/ClientBallisticProtectionData.set:(II)V
       5: fconst_0
       6: putstatic     #1051               // Field tacticalScopeProgress:F
       9: aconst_null
      10: putstatic     #1364               // Field renderSpyglassOverlayMethod:Ljava/lang/reflect/Method;
      13: iconst_0
      14: putstatic     #555                // Field nailGunTriggerWasDown:Z
      17: fconst_0
      18: putstatic     #557                // Field nailGunAutoFireAccumulator:F
      21: ldc2_w        #490                // long -9223372036854775808l
      24: putstatic     #493                // Field thirdPersonNailGunStackId:J
      27: iconst_0
      28: putstatic     #495                // Field thirdPersonNailGunReloadWasActive:Z
      31: iconst_0
      32: putstatic     #434                // Field crossbowCycleWasDown:Z
      35: ldc_w         #1466               // int -2147483648
      38: putstatic     #1223               // Field cachedInventoryPlayerId:I
      41: ldc_w         #1466               // int -2147483648
      44: putstatic     #1228               // Field cachedInventoryTick:I
      47: invokestatic  #1469               // Method com/ogaba/sa_combat/item/SpecialGrenadeItem.clearClientAnimationState:()V
      50: invokestatic  #1470               // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.clearClientAnimationState:()V
      53: invokestatic  #1473               // Method com/ogaba/sa_combat/client/render/NailGunAimClient.reset:()V
      56: invokestatic  #1478               // Method com/ogaba/sa_combat/client/render/NailGunCameraAnimation.resetImmediately:()V
      59: invokestatic  #1481               // Method com/ogaba/sa_combat/client/effect/NailHoleManager.clear:()V
      62: invokestatic  #1484               // Method com/ogaba/sa_combat/client/sound/ChainsawSoundManager.stop:()V
      65: return

  private static net.minecraft.resources.ResourceLocation rl(java.lang.String);
    Code:
       0: new           #1022               // class net/minecraft/resources/ResourceLocation
       3: dup
       4: ldc_w         #1487               // String sa_combat
       7: aload_0
       8: invokespecial #1490               // Method net/minecraft/resources/ResourceLocation."<init>":(Ljava/lang/String;Ljava/lang/String;)V
      11: areturn

  static {};
    Code:
       0: ldc_w         #1494               // String textures/gui/hud/ballistic_vest_bg.png
       3: invokestatic  #1496               // Method rl:(Ljava/lang/String;)Lnet/minecraft/resources/ResourceLocation;
       6: putstatic     #1154               // Field BALLISTIC_VEST_BG:Lnet/minecraft/resources/ResourceLocation;
       9: ldc_w         #1498               // String textures/gui/hud/ballistic_vest_fill.png
      12: invokestatic  #1496               // Method rl:(Ljava/lang/String;)Lnet/minecraft/resources/ResourceLocation;
      15: putstatic     #1156               // Field BALLISTIC_VEST_FILL:Lnet/minecraft/resources/ResourceLocation;
      18: ldc_w         #1500               // String textures/gui/hud/grenade_fuse_frame.png
      21: invokestatic  #1496               // Method rl:(Ljava/lang/String;)Lnet/minecraft/resources/ResourceLocation;
      24: putstatic     #1110               // Field GRENADE_FUSE_FRAME:Lnet/minecraft/resources/ResourceLocation;
      27: ldc_w         #1502               // String textures/gui/hud/compound_bow_power_fill.png
      30: invokestatic  #1496               // Method rl:(Ljava/lang/String;)Lnet/minecraft/resources/ResourceLocation;
      33: putstatic     #1104               // Field GRENADE_FUSE_FILL:Lnet/minecraft/resources/ResourceLocation;
      36: new           #1022               // class net/minecraft/resources/ResourceLocation
      39: dup
      40: ldc_w         #1503               // String minecraft
      43: ldc_w         #1505               // String textures/misc/spyglass_scope.png
      46: invokespecial #1490               // Method net/minecraft/resources/ResourceLocation."<init>":(Ljava/lang/String;Ljava/lang/String;)V
      49: putstatic     #1425               // Field VANILLA_SPYGLASS_SCOPE:Lnet/minecraft/resources/ResourceLocation;
      52: new           #1022               // class net/minecraft/resources/ResourceLocation
      55: dup
      56: ldc_w         #1507               // String sa_core
      59: ldc_w         #1509               // String nails
      62: invokespecial #1490               // Method net/minecraft/resources/ResourceLocation."<init>":(Ljava/lang/String;Ljava/lang/String;)V
      65: putstatic     #1246               // Field NAIL_ITEM_ID:Lnet/minecraft/resources/ResourceLocation;
      68: ldc2_w        #490                // long -9223372036854775808l
      71: putstatic     #493                // Field thirdPersonNailGunStackId:J
      74: ldc_w         #1466               // int -2147483648
      77: putstatic     #1223               // Field cachedInventoryPlayerId:I
      80: ldc_w         #1466               // int -2147483648
      83: putstatic     #1228               // Field cachedInventoryTick:I
      86: getstatic     #1342               // Field net/minecraft/world/item/ItemStack.f_41583_:Lnet/minecraft/world/item/ItemStack;
      89: putstatic     #1347               // Field cachedNailIcon:Lnet/minecraft/world/item/ItemStack;
      92: getstatic     #1342               // Field net/minecraft/world/item/ItemStack.f_41583_:Lnet/minecraft/world/item/ItemStack;
      95: putstatic     #1351               // Field cachedTacticalBoltIcon:Lnet/minecraft/world/item/ItemStack;
      98: getstatic     #1342               // Field net/minecraft/world/item/ItemStack.f_41583_:Lnet/minecraft/world/item/ItemStack;
     101: putstatic     #1355               // Field cachedImprovisedBoltIcon:Lnet/minecraft/world/item/ItemStack;
     104: return
}
