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."":()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."":()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."":(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."":()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); 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 buildUnifiedMainHandAttributeTooltip(net.minecraft.world.item.ItemStack); Code: 0: new #797 // class java/util/ArrayList 3: dup 4: invokespecial #798 // Method java/util/ArrayList."":()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); 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); 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."":(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."":(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."":(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."":(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."":(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."":(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 }