==================== com.ogaba.sa_combat.client.event.SACombatClientForgeEvents ==================== 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 } ==================== com.ogaba.sa_combat.client.model.SAWeaponGeoModel ==================== Compiled from "SAWeaponGeoModel.java" public class com.ogaba.sa_combat.client.model.SAWeaponGeoModel extends software.bernie.geckolib.model.GeoModel { private static final java.util.Map RESOURCE_EXISTS_CACHE; private static final java.util.Map> ATTACHMENT_BONE_CANDIDATES_CACHE; private static final java.util.Map ITEM_PATH_CACHE; private static final java.util.Map MODEL_RESOURCE_CACHE; private static final java.util.Map TEXTURE_RESOURCE_CACHE; private static final java.util.Map ANIMATION_RESOURCE_CACHE; private net.minecraft.world.item.ItemStack currentRenderStack; private static final java.util.List ELECTRIC_FX_BONES; private static final int ELECTRIC_FX_FRAME_TIME_TICKS; private static final java.util.List CROSSBOW_PROJECTILE_BONES; private static volatile int dynamicBoneCacheGeneration; private int observedDynamicBoneCacheGeneration; private final java.util.Map> supportedAttachmentBonesByModel; private final java.util.Map> supportedElectricFxBonesByModel; private boolean electricAttachmentInstalled; private final com.ogaba.sa_combat.combat.attachment.WeaponAttachmentData$AttachmentVisitor attachmentVisualVisitor; public com.ogaba.sa_combat.client.model.SAWeaponGeoModel(); Code: 0: aload_0 1: invokespecial #49 // Method software/bernie/geckolib/model/GeoModel."":()V 4: aload_0 5: getstatic #54 // Field net/minecraft/world/item/ItemStack.f_41583_:Lnet/minecraft/world/item/ItemStack; 8: putfield #56 // Field currentRenderStack:Lnet/minecraft/world/item/ItemStack; 11: aload_0 12: getstatic #58 // Field dynamicBoneCacheGeneration:I 15: putfield #60 // Field observedDynamicBoneCacheGeneration:I 18: aload_0 19: new #62 // class java/util/HashMap 22: dup 23: invokespecial #63 // Method java/util/HashMap."":()V 26: putfield #65 // Field supportedAttachmentBonesByModel:Ljava/util/Map; 29: aload_0 30: new #62 // class java/util/HashMap 33: dup 34: invokespecial #63 // Method java/util/HashMap."":()V 37: putfield #67 // Field supportedElectricFxBonesByModel:Ljava/util/Map; 40: aload_0 41: aload_0 42: invokedynamic #84, 0 // InvokeDynamic #0:accept:(Lcom/ogaba/sa_combat/client/model/SAWeaponGeoModel;)Lcom/ogaba/sa_combat/combat/attachment/WeaponAttachmentData$AttachmentVisitor; 47: putfield #86 // Field attachmentVisualVisitor:Lcom/ogaba/sa_combat/combat/attachment/WeaponAttachmentData$AttachmentVisitor; 50: return public void setCurrentRenderStack(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: aload_1 2: ifnonnull 11 5: getstatic #54 // Field net/minecraft/world/item/ItemStack.f_41583_:Lnet/minecraft/world/item/ItemStack; 8: goto 12 11: aload_1 12: putfield #56 // Field currentRenderStack:Lnet/minecraft/world/item/ItemStack; 15: return public void clearCurrentRenderStack(); Code: 0: aload_0 1: getstatic #54 // Field net/minecraft/world/item/ItemStack.f_41583_:Lnet/minecraft/world/item/ItemStack; 4: putfield #56 // Field currentRenderStack:Lnet/minecraft/world/item/ItemStack; 7: return public net.minecraft.resources.ResourceLocation getModelResource(com.ogaba.sa_combat.combat.weapon.SAWeaponItem); Code: 0: aload_1 1: invokestatic #98 // Method itemPath:(Lcom/ogaba/sa_combat/combat/weapon/SAWeaponItem;)Ljava/lang/String; 4: astore_2 5: getstatic #100 // Field MODEL_RESOURCE_CACHE:Ljava/util/Map; 8: aload_2 9: invokedynamic #112, 0 // InvokeDynamic #1:apply:()Ljava/util/function/Function; 14: invokeinterface #118, 3 // InterfaceMethod java/util/Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object; 19: checkcast #120 // class net/minecraft/resources/ResourceLocation 22: areturn public net.minecraft.resources.ResourceLocation getTextureResource(com.ogaba.sa_combat.combat.weapon.SAWeaponItem); Code: 0: aload_1 1: invokestatic #98 // Method itemPath:(Lcom/ogaba/sa_combat/combat/weapon/SAWeaponItem;)Ljava/lang/String; 4: astore_2 5: ldc #127 // String baseball_bat 7: aload_2 8: invokevirtual #133 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 11: ifeq 74 14: getstatic #135 // Field TEXTURE_RESOURCE_CACHE:Ljava/util/Map; 17: aload_2 18: invokeinterface #138, 2 // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object; 23: checkcast #120 // class net/minecraft/resources/ResourceLocation 26: astore_3 27: aload_3 28: ifnull 33 31: aload_3 32: areturn 33: ldc #140 // String textures/item/weapons/baseball_bat_modular.png 35: iconst_3 36: anewarray #129 // class java/lang/String 39: dup 40: iconst_0 41: ldc #142 // String textures/item/baseball_bat_modular.png 43: aastore 44: dup 45: iconst_1 46: ldc #144 // String textures/item/weapons/baseball_bat.png 48: aastore 49: dup 50: iconst_2 51: ldc #146 // String textures/item/baseball_bat.png 53: aastore 54: invokestatic #150 // Method firstExisting:(Ljava/lang/String;[Ljava/lang/String;)Lnet/minecraft/resources/ResourceLocation; 57: astore 4 59: getstatic #135 // Field TEXTURE_RESOURCE_CACHE:Ljava/util/Map; 62: aload_2 63: aload 4 65: invokeinterface #154, 3 // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 70: pop 71: aload 4 73: areturn 74: ldc #156 // String aluminum_baseball_bat 76: aload_2 77: invokevirtual #133 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 80: ifeq 143 83: getstatic #135 // Field TEXTURE_RESOURCE_CACHE:Ljava/util/Map; 86: aload_2 87: invokeinterface #138, 2 // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object; 92: checkcast #120 // class net/minecraft/resources/ResourceLocation 95: astore_3 96: aload_3 97: ifnull 102 100: aload_3 101: areturn 102: ldc #158 // String textures/item/weapons/aluminum_baseball_bat_modular.png 104: iconst_3 105: anewarray #129 // class java/lang/String 108: dup 109: iconst_0 110: ldc #160 // String textures/item/aluminum_baseball_bat_modular.png 112: aastore 113: dup 114: iconst_1 115: ldc #162 // String textures/item/weapons/aluminum_baseball_bat.png 117: aastore 118: dup 119: iconst_2 120: ldc #164 // String textures/item/aluminum_baseball_bat.png 122: aastore 123: invokestatic #150 // Method firstExisting:(Ljava/lang/String;[Ljava/lang/String;)Lnet/minecraft/resources/ResourceLocation; 126: astore 4 128: getstatic #135 // Field TEXTURE_RESOURCE_CACHE:Ljava/util/Map; 131: aload_2 132: aload 4 134: invokeinterface #154, 3 // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 139: pop 140: aload 4 142: areturn 143: ldc #166 // String chainsaw 145: aload_2 146: invokevirtual #133 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 149: ifeq 295 152: aload_0 153: getfield #56 // Field currentRenderStack:Lnet/minecraft/world/item/ItemStack; 156: invokestatic #172 // Method com/ogaba/sa_combat/combat/weapon/ChainsawItem.isRunning:(Lnet/minecraft/world/item/ItemStack;)Z 159: ifeq 174 162: aload_0 163: invokevirtual #176 // Method chainsawTextureFrame:()I 166: iconst_1 167: if_icmpne 174 170: iconst_1 171: goto 175 174: iconst_0 175: istore 5 177: iload 5 179: ifeq 187 182: ldc #178 // String chainsaw#frame1 184: goto 189 187: ldc #180 // String chainsaw#frame0 189: astore 6 191: getstatic #135 // Field TEXTURE_RESOURCE_CACHE:Ljava/util/Map; 194: aload 6 196: invokeinterface #138, 2 // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object; 201: checkcast #120 // class net/minecraft/resources/ResourceLocation 204: astore_3 205: aload_3 206: ifnull 211 209: aload_3 210: areturn 211: iload 5 213: ifeq 253 216: ldc #184 // String textures/item/weapons/chainsaw1.png 218: iconst_5 219: anewarray #129 // class java/lang/String 222: dup 223: iconst_0 224: ldc #186 // String textures/item/chainsaw1.png 226: aastore 227: dup 228: iconst_1 229: ldc #188 // String textures/item/weapons/chainsaw.png 231: aastore 232: dup 233: iconst_2 234: ldc #190 // String textures/item/chainsaw.png 236: aastore 237: dup 238: iconst_3 239: ldc #192 // String textures/item/weapons/chainsaw0.png 241: aastore 242: dup 243: iconst_4 244: ldc #194 // String textures/item/chainsaw0.png 246: aastore 247: invokestatic #150 // Method firstExisting:(Ljava/lang/String;[Ljava/lang/String;)Lnet/minecraft/resources/ResourceLocation; 250: goto 277 253: ldc #188 // String textures/item/weapons/chainsaw.png 255: iconst_3 256: anewarray #129 // class java/lang/String 259: dup 260: iconst_0 261: ldc #190 // String textures/item/chainsaw.png 263: aastore 264: dup 265: iconst_1 266: ldc #192 // String textures/item/weapons/chainsaw0.png 268: aastore 269: dup 270: iconst_2 271: ldc #194 // String textures/item/chainsaw0.png 273: aastore 274: invokestatic #150 // Method firstExisting:(Ljava/lang/String;[Ljava/lang/String;)Lnet/minecraft/resources/ResourceLocation; 277: astore 4 279: getstatic #135 // Field TEXTURE_RESOURCE_CACHE:Ljava/util/Map; 282: aload 6 284: aload 4 286: invokeinterface #154, 3 // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 291: pop 292: aload 4 294: areturn 295: ldc #196 // String chainsaw_sword 297: aload_2 298: invokevirtual #133 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 301: ifeq 447 304: aload_0 305: invokevirtual #176 // Method chainsawTextureFrame:()I 308: iconst_1 309: if_icmpne 316 312: iconst_1 313: goto 317 316: iconst_0 317: istore 5 319: iload 5 321: ifeq 329 324: ldc #198 // String chainsaw_sword#frame1 326: goto 331 329: ldc #200 // String chainsaw_sword#frame0 331: astore 6 333: getstatic #135 // Field TEXTURE_RESOURCE_CACHE:Ljava/util/Map; 336: aload 6 338: invokeinterface #138, 2 // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object; 343: checkcast #120 // class net/minecraft/resources/ResourceLocation 346: astore_3 347: aload_3 348: ifnull 353 351: aload_3 352: areturn 353: iload 5 355: ifeq 395 358: ldc #202 // String textures/item/weapons/chainsaw_sword1.png 360: iconst_5 361: anewarray #129 // class java/lang/String 364: dup 365: iconst_0 366: ldc #204 // String textures/item/chainsaw_sword1.png 368: aastore 369: dup 370: iconst_1 371: ldc #206 // String textures/item/weapons/chainsaw_sword.png 373: aastore 374: dup 375: iconst_2 376: ldc #208 // String textures/item/chainsaw_sword.png 378: aastore 379: dup 380: iconst_3 381: ldc #210 // String textures/item/weapons/chainsaw_sword0.png 383: aastore 384: dup 385: iconst_4 386: ldc #212 // String textures/item/chainsaw_sword0.png 388: aastore 389: invokestatic #150 // Method firstExisting:(Ljava/lang/String;[Ljava/lang/String;)Lnet/minecraft/resources/ResourceLocation; 392: goto 429 395: ldc #206 // String textures/item/weapons/chainsaw_sword.png 397: iconst_5 398: anewarray #129 // class java/lang/String 401: dup 402: iconst_0 403: ldc #208 // String textures/item/chainsaw_sword.png 405: aastore 406: dup 407: iconst_1 408: ldc #210 // String textures/item/weapons/chainsaw_sword0.png 410: aastore 411: dup 412: iconst_2 413: ldc #212 // String textures/item/chainsaw_sword0.png 415: aastore 416: dup 417: iconst_3 418: ldc #202 // String textures/item/weapons/chainsaw_sword1.png 420: aastore 421: dup 422: iconst_4 423: ldc #204 // String textures/item/chainsaw_sword1.png 425: aastore 426: invokestatic #150 // Method firstExisting:(Ljava/lang/String;[Ljava/lang/String;)Lnet/minecraft/resources/ResourceLocation; 429: astore 4 431: getstatic #135 // Field TEXTURE_RESOURCE_CACHE:Ljava/util/Map; 434: aload 6 436: aload 4 438: invokeinterface #154, 3 // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 443: pop 444: aload 4 446: areturn 447: getstatic #135 // Field TEXTURE_RESOURCE_CACHE:Ljava/util/Map; 450: aload_2 451: invokeinterface #138, 2 // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object; 456: checkcast #120 // class net/minecraft/resources/ResourceLocation 459: astore_3 460: aload_3 461: ifnull 466 464: aload_3 465: areturn 466: aload_2 467: invokestatic #216 // Method isShieldPath:(Ljava/lang/String;)Z 470: ifeq 509 473: aload_2 474: invokedynamic #228, 0 // InvokeDynamic #2:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String; 479: iconst_2 480: anewarray #129 // class java/lang/String 483: dup 484: iconst_0 485: aload_2 486: invokedynamic #231, 0 // InvokeDynamic #3:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String; 491: aastore 492: dup 493: iconst_1 494: aload_2 495: invokedynamic #234, 0 // InvokeDynamic #4:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String; 500: aastore 501: invokestatic #150 // Method firstExisting:(Ljava/lang/String;[Ljava/lang/String;)Lnet/minecraft/resources/ResourceLocation; 504: astore 4 506: goto 533 509: aload_2 510: invokedynamic #231, 0 // InvokeDynamic #3:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String; 515: iconst_1 516: anewarray #129 // class java/lang/String 519: dup 520: iconst_0 521: aload_2 522: invokedynamic #234, 0 // InvokeDynamic #4:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String; 527: aastore 528: invokestatic #150 // Method firstExisting:(Ljava/lang/String;[Ljava/lang/String;)Lnet/minecraft/resources/ResourceLocation; 531: astore 4 533: getstatic #135 // Field TEXTURE_RESOURCE_CACHE:Ljava/util/Map; 536: aload_2 537: aload 4 539: invokeinterface #154, 3 // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 544: pop 545: aload 4 547: areturn public net.minecraft.resources.ResourceLocation getAnimationResource(com.ogaba.sa_combat.combat.weapon.SAWeaponItem); Code: 0: aload_1 1: invokestatic #98 // Method itemPath:(Lcom/ogaba/sa_combat/combat/weapon/SAWeaponItem;)Ljava/lang/String; 4: astore_2 5: getstatic #242 // Field ANIMATION_RESOURCE_CACHE:Ljava/util/Map; 8: aload_2 9: invokedynamic #247, 0 // InvokeDynamic #5:apply:()Ljava/util/function/Function; 14: invokeinterface #118, 3 // InterfaceMethod java/util/Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object; 19: checkcast #120 // class net/minecraft/resources/ResourceLocation 22: areturn public void setCustomAnimations(com.ogaba.sa_combat.combat.weapon.SAWeaponItem, long, software.bernie.geckolib.core.animation.AnimationState); Code: 0: aload_0 1: aload_1 2: lload_2 3: aload 4 5: invokespecial #253 // Method software/bernie/geckolib/model/GeoModel.setCustomAnimations:(Lsoftware/bernie/geckolib/core/animatable/GeoAnimatable;JLsoftware/bernie/geckolib/core/animation/AnimationState;)V 8: aload_1 9: invokestatic #98 // Method itemPath:(Lcom/ogaba/sa_combat/combat/weapon/SAWeaponItem;)Ljava/lang/String; 12: astore 5 14: aload_0 15: aload 5 17: invokevirtual #257 // Method prepareDynamicBoneState:(Ljava/lang/String;)V 20: aload_0 21: aload_1 22: invokevirtual #261 // Method hideCrossbowProjectileVisual:(Lcom/ogaba/sa_combat/combat/weapon/SAWeaponItem;)V 25: aload 4 27: getstatic #267 // Field software/bernie/geckolib/constant/DataTickets.ITEMSTACK:Lsoftware/bernie/geckolib/core/object/DataTicket; 30: invokevirtual #273 // Method software/bernie/geckolib/core/animation/AnimationState.getData:(Lsoftware/bernie/geckolib/core/object/DataTicket;)Ljava/lang/Object; 33: checkcast #51 // class net/minecraft/world/item/ItemStack 36: astore 6 38: aload 6 40: ifnull 51 43: aload 6 45: invokevirtual #277 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 48: ifeq 52 51: return 52: aload 4 54: getstatic #280 // Field software/bernie/geckolib/constant/DataTickets.ITEM_RENDER_PERSPECTIVE:Lsoftware/bernie/geckolib/core/object/DataTicket; 57: invokevirtual #273 // Method software/bernie/geckolib/core/animation/AnimationState.getData:(Lsoftware/bernie/geckolib/core/object/DataTicket;)Ljava/lang/Object; 60: checkcast #282 // class net/minecraft/world/item/ItemDisplayContext 63: astore 7 65: aload_0 66: aload_1 67: invokevirtual #286 // Method isCrossbow:(Lcom/ogaba/sa_combat/combat/weapon/SAWeaponItem;)Z 70: ifeq 89 73: aload_0 74: aload 7 76: invokevirtual #290 // Method isHandRender:(Lnet/minecraft/world/item/ItemDisplayContext;)Z 79: ifne 89 82: aload_0 83: invokevirtual #293 // Method resetCrossbowNonHandPose:()V 86: goto 96 89: aload_0 90: aload_1 91: aload 6 93: invokevirtual #297 // Method applyCrossbowLoadedVisual:(Lcom/ogaba/sa_combat/combat/weapon/SAWeaponItem;Lnet/minecraft/world/item/ItemStack;)V 96: aload_0 97: iconst_0 98: putfield #299 // Field electricAttachmentInstalled:Z 101: aload 6 103: aload_0 104: getfield #86 // Field attachmentVisualVisitor:Lcom/ogaba/sa_combat/combat/attachment/WeaponAttachmentData$AttachmentVisitor; 107: invokestatic #303 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachmentData.visitInstalledAttachments:(Lnet/minecraft/world/item/ItemStack;Lcom/ogaba/sa_combat/combat/attachment/WeaponAttachmentData$AttachmentVisitor;)I 110: pop 111: aload_0 112: getfield #299 // Field electricAttachmentInstalled:Z 115: ifeq 124 118: aload_0 119: aload 5 121: invokevirtual #306 // Method showElectricFxFrame:(Ljava/lang/String;)V 124: aload_0 125: aload_1 126: aload 6 128: invokevirtual #309 // Method applyNailGunMagazineVisual:(Lcom/ogaba/sa_combat/combat/weapon/SAWeaponItem;Lnet/minecraft/world/item/ItemStack;)V 131: aload_0 132: aload_1 133: aload 7 135: invokevirtual #313 // Method applyCompoundBowPerspectivePose:(Lcom/ogaba/sa_combat/combat/weapon/SAWeaponItem;Lnet/minecraft/world/item/ItemDisplayContext;)V 138: aload_0 139: aload_1 140: aload 6 142: invokevirtual #316 // Method applyCompoundBowArrowVisual:(Lcom/ogaba/sa_combat/combat/weapon/SAWeaponItem;Lnet/minecraft/world/item/ItemStack;)V 145: return private void applyCompoundBowPerspectivePose(com.ogaba.sa_combat.combat.weapon.SAWeaponItem, net.minecraft.world.item.ItemDisplayContext); Code: 0: aload_1 1: instanceof #326 // class com/ogaba/sa_combat/combat/weapon/CompoundBowItem 4: ifne 8 7: return 8: aload_2 9: getstatic #329 // Field net/minecraft/world/item/ItemDisplayContext.FIRST_PERSON_LEFT_HAND:Lnet/minecraft/world/item/ItemDisplayContext; 12: if_acmpeq 22 15: aload_2 16: getstatic #332 // Field net/minecraft/world/item/ItemDisplayContext.FIRST_PERSON_RIGHT_HAND:Lnet/minecraft/world/item/ItemDisplayContext; 19: if_acmpne 26 22: iconst_1 23: goto 27 26: iconst_0 27: istore_3 28: iload_3 29: ifeq 147 32: aload_0 33: invokevirtual #336 // Method getAnimationProcessor:()Lsoftware/bernie/geckolib/core/animation/AnimationProcessor; 36: ldc_w #338 // String refit 39: invokevirtual #344 // Method software/bernie/geckolib/core/animation/AnimationProcessor.getBone:(Ljava/lang/String;)Lsoftware/bernie/geckolib/core/animatable/model/CoreGeoBone; 42: astore 4 44: aload 4 46: ifnull 146 49: invokestatic #350 // Method com/ogaba/sa_combat/client/render/CompoundBowClient.getAimProgress:()F 52: fstore 5 54: fload 5 56: fconst_0 57: fconst_0 58: invokestatic #356 // Method net/minecraft/util/Mth.m_14179_:(FFF)F 61: fstore 6 63: fload 5 65: fconst_0 66: fconst_0 67: invokestatic #356 // Method net/minecraft/util/Mth.m_14179_:(FFF)F 70: fstore 7 72: fload 5 74: fconst_0 75: ldc_w #357 // float 72.5f 78: invokestatic #356 // Method net/minecraft/util/Mth.m_14179_:(FFF)F 81: fstore 8 83: aload 4 85: aload 4 87: invokeinterface #362, 1 // InterfaceMethod software/bernie/geckolib/core/animatable/model/CoreGeoBone.getRotX:()F 92: fload 6 94: ldc_w #363 // float 0.017453292f 97: fmul 98: fadd 99: invokeinterface #367, 2 // InterfaceMethod software/bernie/geckolib/core/animatable/model/CoreGeoBone.setRotX:(F)V 104: aload 4 106: aload 4 108: invokeinterface #370, 1 // InterfaceMethod software/bernie/geckolib/core/animatable/model/CoreGeoBone.getRotY:()F 113: fload 7 115: ldc_w #363 // float 0.017453292f 118: fmul 119: fadd 120: invokeinterface #373, 2 // InterfaceMethod software/bernie/geckolib/core/animatable/model/CoreGeoBone.setRotY:(F)V 125: aload 4 127: aload 4 129: invokeinterface #376, 1 // InterfaceMethod software/bernie/geckolib/core/animatable/model/CoreGeoBone.getRotZ:()F 134: fload 8 136: ldc_w #363 // float 0.017453292f 139: fmul 140: fadd 141: invokeinterface #379, 2 // InterfaceMethod software/bernie/geckolib/core/animatable/model/CoreGeoBone.setRotZ:(F)V 146: return 147: aload_0 148: invokevirtual #382 // Method resetCompoundBowExternalPose:()V 151: return private void resetCompoundBowExternalPose(); Code: 0: bipush 16 2: anewarray #129 // class java/lang/String 5: dup 6: iconst_0 7: ldc_w #338 // String refit 10: aastore 11: dup 12: iconst_1 13: ldc_w #391 // String weapon 16: aastore 17: dup 18: iconst_2 19: ldc_w #393 // String right_hand 22: aastore 23: dup 24: iconst_3 25: ldc_w #395 // String left_hand 28: aastore 29: dup 30: iconst_4 31: ldc_w #397 // String base 34: aastore 35: dup 36: iconst_5 37: ldc_w #399 // String down 40: aastore 41: dup 42: bipush 6 44: ldc_w #401 // String circ 47: aastore 48: dup 49: bipush 7 51: ldc_w #403 // String up 54: aastore 55: dup 56: bipush 8 58: ldc_w #405 // String circ2 61: aastore 62: dup 63: bipush 9 65: ldc_w #407 // String string 68: aastore 69: dup 70: bipush 10 72: ldc_w #409 // String up_string 75: aastore 76: dup 77: bipush 11 79: ldc_w #411 // String down_string 82: aastore 83: dup 84: bipush 12 86: ldc_w #413 // String arrow_bolt 89: aastore 90: dup 91: bipush 13 93: ldc_w #415 // String arrow_Improvised 96: aastore 97: dup 98: bipush 14 100: ldc_w #417 // String camera 103: aastore 104: dup 105: bipush 15 107: ldc_w #419 // String idle_view 110: aastore 111: astore_1 112: aload_1 113: astore_2 114: aload_2 115: arraylength 116: istore_3 117: iconst_0 118: istore 4 120: iload 4 122: iload_3 123: if_icmpge 153 126: aload_2 127: iload 4 129: aaload 130: astore 5 132: aload_0 133: aload 5 135: invokevirtual #424 // Method resetBonePose:(Ljava/lang/String;)V 138: aload_0 139: aload 5 141: fconst_1 142: fconst_1 143: fconst_1 144: invokevirtual #428 // Method setBoneScale:(Ljava/lang/String;FFF)V 147: iinc 4, 1 150: goto 120 153: return private void applyCompoundBowArrowVisual(com.ogaba.sa_combat.combat.weapon.SAWeaponItem, net.minecraft.world.item.ItemStack); Code: 0: aload_1 1: instanceof #326 // class com/ogaba/sa_combat/combat/weapon/CompoundBowItem 4: ifne 8 7: return 8: aload_2 9: invokestatic #433 // Method com/ogaba/sa_combat/combat/weapon/CompoundBowItem.isClientImprovisedBolt:(Lnet/minecraft/world/item/ItemStack;)Z 12: istore_3 13: aload_0 14: ldc_w #413 // String arrow_bolt 17: iload_3 18: invokevirtual #437 // Method setBoneHidden:(Ljava/lang/String;Z)V 21: aload_0 22: ldc_w #415 // String arrow_Improvised 25: iload_3 26: ifne 33 29: iconst_1 30: goto 34 33: iconst_0 34: invokevirtual #437 // Method setBoneHidden:(Ljava/lang/String;Z)V 37: return private void applyNailGunMagazineVisual(com.ogaba.sa_combat.combat.weapon.SAWeaponItem, net.minecraft.world.item.ItemStack); Code: 0: aload_1 1: instanceof #440 // class com/ogaba/sa_combat/combat/weapon/NailGunItem 4: ifne 8 7: return 8: aload_2 9: invokestatic #443 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.hasExtendedMag:(Lnet/minecraft/world/item/ItemStack;)Z 12: istore_3 13: aload_2 14: invokestatic #446 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.isReloading:(Lnet/minecraft/world/item/ItemStack;)Z 17: ifne 27 20: aload_2 21: invokestatic #449 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.isClientReloadAnimationActive:(Lnet/minecraft/world/item/ItemStack;)Z 24: ifeq 31 27: iconst_1 28: goto 32 31: iconst_0 32: istore 4 34: aload_0 35: ldc_w #451 // String normal_mag 38: iload_3 39: invokevirtual #437 // Method setBoneHidden:(Ljava/lang/String;Z)V 42: aload_0 43: ldc_w #453 // String attach_extended_mag 46: iload_3 47: ifne 54 50: iconst_1 51: goto 55 54: iconst_0 55: invokevirtual #437 // Method setBoneHidden:(Ljava/lang/String;Z)V 58: aload_0 59: ldc_w #455 // String reload_normal_mag 62: iload 4 64: ifeq 71 67: iload_3 68: ifeq 75 71: iconst_1 72: goto 76 75: iconst_0 76: invokevirtual #437 // Method setBoneHidden:(Ljava/lang/String;Z)V 79: aload_0 80: ldc_w #457 // String reload_extended_mag 83: iload 4 85: ifeq 92 88: iload_3 89: ifne 96 92: iconst_1 93: goto 97 96: iconst_0 97: invokevirtual #437 // Method setBoneHidden:(Ljava/lang/String;Z)V 100: return private static boolean isShieldPath(java.lang.String); Code: 0: ldc_w #461 // String scrap_shield 3: aload_0 4: invokevirtual #133 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 7: ifne 50 10: ldc_w #463 // String trash_lid_shield 13: aload_0 14: invokevirtual #133 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 17: ifne 50 20: ldc_w #465 // String police_shield 23: aload_0 24: invokevirtual #133 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 27: ifne 50 30: ldc_w #467 // String stop_sign_shield 33: aload_0 34: invokevirtual #133 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 37: ifne 50 40: ldc_w #469 // String manhole_shield 43: aload_0 44: invokevirtual #133 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 47: ifeq 54 50: iconst_1 51: goto 55 54: iconst_0 55: ireturn private boolean isCrossbow(com.ogaba.sa_combat.combat.weapon.SAWeaponItem); Code: 0: aload_1 1: instanceof #471 // class com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem 4: ireturn private boolean isHandRender(net.minecraft.world.item.ItemDisplayContext); Code: 0: aload_1 1: getstatic #329 // Field net/minecraft/world/item/ItemDisplayContext.FIRST_PERSON_LEFT_HAND:Lnet/minecraft/world/item/ItemDisplayContext; 4: if_acmpeq 28 7: aload_1 8: getstatic #332 // Field net/minecraft/world/item/ItemDisplayContext.FIRST_PERSON_RIGHT_HAND:Lnet/minecraft/world/item/ItemDisplayContext; 11: if_acmpeq 28 14: aload_1 15: getstatic #474 // Field net/minecraft/world/item/ItemDisplayContext.THIRD_PERSON_LEFT_HAND:Lnet/minecraft/world/item/ItemDisplayContext; 18: if_acmpeq 28 21: aload_1 22: getstatic #477 // Field net/minecraft/world/item/ItemDisplayContext.THIRD_PERSON_RIGHT_HAND:Lnet/minecraft/world/item/ItemDisplayContext; 25: if_acmpne 32 28: iconst_1 29: goto 33 32: iconst_0 33: ireturn private void resetCrossbowNonHandPose(); Code: 0: aload_0 1: ldc_w #480 // String main 4: invokevirtual #424 // Method resetBonePose:(Ljava/lang/String;)V 7: aload_0 8: ldc_w #482 // String right_string 11: invokevirtual #424 // Method resetBonePose:(Ljava/lang/String;)V 14: aload_0 15: ldc_w #484 // String left_string 18: invokevirtual #424 // Method resetBonePose:(Ljava/lang/String;)V 21: aload_0 22: ldc_w #486 // String left 25: invokevirtual #424 // Method resetBonePose:(Ljava/lang/String;)V 28: aload_0 29: ldc_w #488 // String right 32: invokevirtual #424 // Method resetBonePose:(Ljava/lang/String;)V 35: aload_0 36: ldc_w #407 // String string 39: invokevirtual #424 // Method resetBonePose:(Ljava/lang/String;)V 42: aload_0 43: ldc_w #490 // String left_gear 46: invokevirtual #424 // Method resetBonePose:(Ljava/lang/String;)V 49: aload_0 50: ldc_w #492 // String right_gear 53: invokevirtual #424 // Method resetBonePose:(Ljava/lang/String;)V 56: aload_0 57: ldc_w #494 // String front_right 60: invokevirtual #424 // Method resetBonePose:(Ljava/lang/String;)V 63: aload_0 64: ldc_w #496 // String front_left 67: invokevirtual #424 // Method resetBonePose:(Ljava/lang/String;)V 70: aload_0 71: invokevirtual #500 // Method crossbowProjectileBones:()Ljava/util/List; 74: invokeinterface #506, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator; 79: astore_1 80: aload_1 81: invokeinterface #511, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 86: ifeq 121 89: aload_1 90: invokeinterface #515, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 95: checkcast #129 // class java/lang/String 98: astore_2 99: aload_0 100: aload_2 101: invokevirtual #424 // Method resetBonePose:(Ljava/lang/String;)V 104: aload_0 105: aload_2 106: fconst_1 107: fconst_1 108: fconst_1 109: invokevirtual #428 // Method setBoneScale:(Ljava/lang/String;FFF)V 112: aload_0 113: aload_2 114: iconst_1 115: invokevirtual #437 // Method setBoneHidden:(Ljava/lang/String;Z)V 118: goto 80 121: return private void resetBonePose(java.lang.String); Code: 0: aload_0 1: aload_1 2: fconst_0 3: fconst_0 4: fconst_0 5: fconst_0 6: fconst_0 7: fconst_0 8: invokevirtual #520 // Method setBonePose:(Ljava/lang/String;FFFFFF)V 11: return private void setBonePose(java.lang.String, float, float, float, float, float, float); Code: 0: aload_0 1: invokevirtual #336 // Method getAnimationProcessor:()Lsoftware/bernie/geckolib/core/animation/AnimationProcessor; 4: aload_1 5: invokevirtual #344 // Method software/bernie/geckolib/core/animation/AnimationProcessor.getBone:(Ljava/lang/String;)Lsoftware/bernie/geckolib/core/animatable/model/CoreGeoBone; 8: astore 8 10: aload 8 12: ifnull 79 15: aload 8 17: aload_0 18: fload_2 19: invokevirtual #524 // Method degreesToRadians:(F)F 22: invokeinterface #367, 2 // InterfaceMethod software/bernie/geckolib/core/animatable/model/CoreGeoBone.setRotX:(F)V 27: aload 8 29: aload_0 30: fload_3 31: invokevirtual #524 // Method degreesToRadians:(F)F 34: invokeinterface #373, 2 // InterfaceMethod software/bernie/geckolib/core/animatable/model/CoreGeoBone.setRotY:(F)V 39: aload 8 41: aload_0 42: fload 4 44: invokevirtual #524 // Method degreesToRadians:(F)F 47: invokeinterface #379, 2 // InterfaceMethod software/bernie/geckolib/core/animatable/model/CoreGeoBone.setRotZ:(F)V 52: aload 8 54: fload 5 56: invokeinterface #527, 2 // InterfaceMethod software/bernie/geckolib/core/animatable/model/CoreGeoBone.setPosX:(F)V 61: aload 8 63: fload 6 65: invokeinterface #530, 2 // InterfaceMethod software/bernie/geckolib/core/animatable/model/CoreGeoBone.setPosY:(F)V 70: aload 8 72: fload 7 74: invokeinterface #533, 2 // InterfaceMethod software/bernie/geckolib/core/animatable/model/CoreGeoBone.setPosZ:(F)V 79: return private void setBoneScale(java.lang.String, float, float, float); Code: 0: aload_0 1: invokevirtual #336 // Method getAnimationProcessor:()Lsoftware/bernie/geckolib/core/animation/AnimationProcessor; 4: aload_1 5: invokevirtual #344 // Method software/bernie/geckolib/core/animation/AnimationProcessor.getBone:(Ljava/lang/String;)Lsoftware/bernie/geckolib/core/animatable/model/CoreGeoBone; 8: astore 5 10: aload 5 12: ifnull 40 15: aload 5 17: fload_2 18: invokeinterface #542, 2 // InterfaceMethod software/bernie/geckolib/core/animatable/model/CoreGeoBone.setScaleX:(F)V 23: aload 5 25: fload_3 26: invokeinterface #545, 2 // InterfaceMethod software/bernie/geckolib/core/animatable/model/CoreGeoBone.setScaleY:(F)V 31: aload 5 33: fload 4 35: invokeinterface #548, 2 // InterfaceMethod software/bernie/geckolib/core/animatable/model/CoreGeoBone.setScaleZ:(F)V 40: return private float degreesToRadians(float); Code: 0: fload_1 1: ldc_w #363 // float 0.017453292f 4: fmul 5: freturn private void hideCrossbowProjectileVisual(com.ogaba.sa_combat.combat.weapon.SAWeaponItem); Code: 0: aload_0 1: aload_1 2: invokevirtual #286 // Method isCrossbow:(Lcom/ogaba/sa_combat/combat/weapon/SAWeaponItem;)Z 5: ifne 9 8: return 9: aload_0 10: invokevirtual #500 // Method crossbowProjectileBones:()Ljava/util/List; 13: invokeinterface #506, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator; 18: astore_2 19: aload_2 20: invokeinterface #511, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 25: ifeq 47 28: aload_2 29: invokeinterface #515, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 34: checkcast #129 // class java/lang/String 37: astore_3 38: aload_0 39: aload_3 40: iconst_1 41: invokevirtual #437 // Method setBoneHidden:(Ljava/lang/String;Z)V 44: goto 19 47: return private void applyCrossbowLoadedVisual(com.ogaba.sa_combat.combat.weapon.SAWeaponItem, net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: aload_1 2: invokevirtual #286 // Method isCrossbow:(Lcom/ogaba/sa_combat/combat/weapon/SAWeaponItem;)Z 5: ifne 9 8: return 9: aload_2 10: invokestatic #555 // Method com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem.isLoaded:(Lnet/minecraft/world/item/ItemStack;)Z 13: ifne 23 16: aload_2 17: invokestatic #558 // Method com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem.isLoading:(Lnet/minecraft/world/item/ItemStack;)Z 20: ifeq 27 23: iconst_1 24: goto 28 27: iconst_0 28: istore_3 29: iload_3 30: ifne 34 33: return 34: aload_2 35: invokestatic #561 // Method com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem.isImprovisedBoltLoaded:(Lnet/minecraft/world/item/ItemStack;)Z 38: istore 4 40: iload 4 42: ifeq 62 45: aload_0 46: ldc_w #415 // String arrow_Improvised 49: ldc_w #563 // String arrow_improvised 52: ldc_w #565 // String improvised_arrow 55: invokevirtual #569 // Method showFirstExistingBone:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z 58: ifeq 79 61: return 62: aload_0 63: ldc_w #413 // String arrow_bolt 66: ldc_w #571 // String tactical_arrow 69: ldc_w #573 // String bolt 72: invokevirtual #569 // Method showFirstExistingBone:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z 75: ifeq 79 78: return 79: aload_0 80: ldc_w #575 // String arrow 83: invokevirtual #577 // Method showFirstExistingBone:(Ljava/lang/String;)Z 86: pop 87: return private java.util.List crossbowProjectileBones(); Code: 0: getstatic #582 // Field CROSSBOW_PROJECTILE_BONES:Ljava/util/List; 3: areturn private boolean showFirstExistingBone(java.lang.String); Code: 0: aload_0 1: aload_1 2: invokevirtual #585 // Method hasBone:(Ljava/lang/String;)Z 5: ifne 10 8: iconst_0 9: ireturn 10: aload_0 11: aload_1 12: iconst_0 13: invokevirtual #437 // Method setBoneHidden:(Ljava/lang/String;Z)V 16: iconst_1 17: ireturn private boolean showFirstExistingBone(java.lang.String, java.lang.String, java.lang.String); Code: 0: aload_0 1: aload_1 2: invokevirtual #577 // Method showFirstExistingBone:(Ljava/lang/String;)Z 5: ifeq 10 8: iconst_1 9: ireturn 10: aload_0 11: aload_2 12: invokevirtual #577 // Method showFirstExistingBone:(Ljava/lang/String;)Z 15: ifeq 20 18: iconst_1 19: ireturn 20: aload_0 21: aload_3 22: invokevirtual #577 // Method showFirstExistingBone:(Ljava/lang/String;)Z 25: ireturn private void prepareDynamicBoneState(java.lang.String); Code: 0: aload_0 1: invokevirtual #592 // Method refreshDynamicBoneCachesAfterReload:()V 4: aload_0 5: aload_1 6: invokevirtual #596 // Method supportedAttachmentBones:(Ljava/lang/String;)Ljava/util/List; 9: invokeinterface #506, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator; 14: astore_2 15: aload_2 16: invokeinterface #511, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 21: ifeq 43 24: aload_2 25: invokeinterface #515, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 30: checkcast #129 // class java/lang/String 33: astore_3 34: aload_0 35: aload_3 36: iconst_1 37: invokevirtual #437 // Method setBoneHidden:(Ljava/lang/String;Z)V 40: goto 15 43: aload_0 44: aload_1 45: invokevirtual #599 // Method supportedElectricFxBones:(Ljava/lang/String;)Ljava/util/List; 48: invokeinterface #506, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator; 53: astore_2 54: aload_2 55: invokeinterface #511, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 60: ifeq 82 63: aload_2 64: invokeinterface #515, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 69: checkcast #129 // class java/lang/String 72: astore_3 73: aload_0 74: aload_3 75: iconst_1 76: invokevirtual #437 // Method setBoneHidden:(Ljava/lang/String;Z)V 79: goto 54 82: return private void refreshDynamicBoneCachesAfterReload(); Code: 0: getstatic #58 // Field dynamicBoneCacheGeneration:I 3: istore_1 4: aload_0 5: getfield #60 // Field observedDynamicBoneCacheGeneration:I 8: iload_1 9: if_icmpne 13 12: return 13: aload_0 14: getfield #65 // Field supportedAttachmentBonesByModel:Ljava/util/Map; 17: invokeinterface #602, 1 // InterfaceMethod java/util/Map.clear:()V 22: aload_0 23: getfield #67 // Field supportedElectricFxBonesByModel:Ljava/util/Map; 26: invokeinterface #602, 1 // InterfaceMethod java/util/Map.clear:()V 31: aload_0 32: iload_1 33: putfield #60 // Field observedDynamicBoneCacheGeneration:I 36: return private java.util.List supportedAttachmentBones(java.lang.String); Code: 0: aload_0 1: getfield #65 // Field supportedAttachmentBonesByModel:Ljava/util/Map; 4: aload_1 5: aload_0 6: invokedynamic #612, 0 // InvokeDynamic #6:apply:(Lcom/ogaba/sa_combat/client/model/SAWeaponGeoModel;)Ljava/util/function/Function; 11: invokeinterface #118, 3 // InterfaceMethod java/util/Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object; 16: checkcast #502 // class java/util/List 19: areturn private java.util.List supportedElectricFxBones(java.lang.String); Code: 0: aload_0 1: getfield #67 // Field supportedElectricFxBonesByModel:Ljava/util/Map; 4: aload_1 5: aload_0 6: invokedynamic #617, 0 // InvokeDynamic #7:apply:(Lcom/ogaba/sa_combat/client/model/SAWeaponGeoModel;)Ljava/util/function/Function; 11: invokeinterface #118, 3 // InterfaceMethod java/util/Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object; 16: checkcast #502 // class java/util/List 19: areturn private void applyAttachmentVisual(com.ogaba.sa_combat.combat.attachment.AttachmentSlot, com.ogaba.sa_combat.combat.attachment.WeaponAttachment); Code: 0: aload_2 1: ifnull 21 4: aload_2 5: invokevirtual #623 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachment.visualBoneName:()Ljava/lang/String; 8: ifnull 21 11: aload_2 12: invokevirtual #623 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachment.visualBoneName:()Ljava/lang/String; 15: invokevirtual #626 // Method java/lang/String.isBlank:()Z 18: ifeq 22 21: return 22: aload_0 23: aload_2 24: invokevirtual #630 // Method resolveAttachmentBone:(Lcom/ogaba/sa_combat/combat/attachment/WeaponAttachment;)Ljava/lang/String; 27: astore_3 28: aload_0 29: aload_3 30: iconst_0 31: invokevirtual #437 // Method setBoneHidden:(Ljava/lang/String;Z)V 34: ldc_w #632 // String attach_core_electric 37: aload_3 38: invokevirtual #133 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 41: ifne 60 44: ldc_w #634 // String electric_kit 47: aload_2 48: invokevirtual #638 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachment.id:()Lnet/minecraft/resources/ResourceLocation; 51: invokevirtual #641 // Method net/minecraft/resources/ResourceLocation.m_135815_:()Ljava/lang/String; 54: invokevirtual #133 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 57: ifeq 65 60: aload_0 61: iconst_1 62: putfield #299 // Field electricAttachmentInstalled:Z 65: return private java.lang.String resolveAttachmentBone(com.ogaba.sa_combat.combat.attachment.WeaponAttachment); Code: 0: aload_0 1: aload_1 2: invokevirtual #649 // Method attachmentBoneCandidates:(Lcom/ogaba/sa_combat/combat/attachment/WeaponAttachment;)Ljava/util/List; 5: invokeinterface #506, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator; 10: astore_2 11: aload_2 12: invokeinterface #511, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 17: ifeq 43 20: aload_2 21: invokeinterface #515, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 26: checkcast #129 // class java/lang/String 29: astore_3 30: aload_0 31: aload_3 32: invokevirtual #585 // Method hasBone:(Ljava/lang/String;)Z 35: ifeq 40 38: aload_3 39: areturn 40: goto 11 43: aload_1 44: invokevirtual #623 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachment.visualBoneName:()Ljava/lang/String; 47: areturn private java.util.List attachmentBoneCandidates(com.ogaba.sa_combat.combat.attachment.WeaponAttachment); Code: 0: getstatic #652 // Field ATTACHMENT_BONE_CANDIDATES_CACHE:Ljava/util/Map; 3: aload_1 4: invokevirtual #638 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachment.id:()Lnet/minecraft/resources/ResourceLocation; 7: invokeinterface #138, 2 // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object; 12: checkcast #502 // class java/util/List 15: astore_2 16: aload_2 17: ifnull 22 20: aload_2 21: areturn 22: aload_0 23: aload_1 24: invokevirtual #655 // Method computeAttachmentBoneCandidates:(Lcom/ogaba/sa_combat/combat/attachment/WeaponAttachment;)Ljava/util/List; 27: astore_3 28: getstatic #652 // Field ATTACHMENT_BONE_CANDIDATES_CACHE:Ljava/util/Map; 31: aload_1 32: invokevirtual #638 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachment.id:()Lnet/minecraft/resources/ResourceLocation; 35: aload_3 36: invokeinterface #154, 3 // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 41: pop 42: aload_3 43: areturn private java.util.List computeAttachmentBoneCandidates(com.ogaba.sa_combat.combat.attachment.WeaponAttachment); Code: 0: aload_1 1: invokevirtual #623 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachment.visualBoneName:()Ljava/lang/String; 4: astore_2 5: aload_1 6: invokevirtual #638 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachment.id:()Lnet/minecraft/resources/ResourceLocation; 9: invokevirtual #641 // Method net/minecraft/resources/ResourceLocation.m_135815_:()Ljava/lang/String; 12: astore_3 13: aload_3 14: invokedynamic #659, 0 // InvokeDynamic #8:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String; 19: astore 4 21: ldc_w #661 // String spyglass 24: aload_3 25: invokevirtual #133 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 28: ifeq 80 31: iconst_4 32: anewarray #129 // class java/lang/String 35: dup 36: iconst_0 37: aload_2 38: aastore 39: dup 40: iconst_1 41: ldc_w #663 // String attach_sight 44: aastore 45: dup 46: iconst_2 47: aload 4 49: aastore 50: dup 51: iconst_3 52: ldc_w #661 // String spyglass 55: aastore 56: invokestatic #669 // InterfaceMethod java/util/stream/Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream; 59: invokedynamic #679, 0 // InvokeDynamic #9:test:()Ljava/util/function/Predicate; 64: invokeinterface #683, 2 // InterfaceMethod java/util/stream/Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream; 69: invokeinterface #687, 1 // InterfaceMethod java/util/stream/Stream.distinct:()Ljava/util/stream/Stream; 74: invokeinterface #690, 1 // InterfaceMethod java/util/stream/Stream.toList:()Ljava/util/List; 79: areturn 80: ldc_w #692 // String spiked 83: aload_3 84: invokevirtual #133 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 87: ifeq 139 90: iconst_4 91: anewarray #129 // class java/lang/String 94: dup 95: iconst_0 96: aload_2 97: aastore 98: dup 99: iconst_1 100: ldc_w #694 // String attach_spike 103: aastore 104: dup 105: iconst_2 106: aload 4 108: aastore 109: dup 110: iconst_3 111: ldc_w #692 // String spiked 114: aastore 115: invokestatic #669 // InterfaceMethod java/util/stream/Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream; 118: invokedynamic #699, 0 // InvokeDynamic #10:test:()Ljava/util/function/Predicate; 123: invokeinterface #683, 2 // InterfaceMethod java/util/stream/Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream; 128: invokeinterface #687, 1 // InterfaceMethod java/util/stream/Stream.distinct:()Ljava/util/stream/Stream; 133: invokeinterface #690, 1 // InterfaceMethod java/util/stream/Stream.toList:()Ljava/util/List; 138: areturn 139: iconst_2 140: anewarray #129 // class java/lang/String 143: dup 144: iconst_0 145: aload_2 146: aastore 147: dup 148: iconst_1 149: aload 4 151: aastore 152: invokestatic #669 // InterfaceMethod java/util/stream/Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream; 155: invokedynamic #704, 0 // InvokeDynamic #11:test:()Ljava/util/function/Predicate; 160: invokeinterface #683, 2 // InterfaceMethod java/util/stream/Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream; 165: invokeinterface #687, 1 // InterfaceMethod java/util/stream/Stream.distinct:()Ljava/util/stream/Stream; 170: invokeinterface #690, 1 // InterfaceMethod java/util/stream/Stream.toList:()Ljava/util/List; 175: areturn private void showElectricFxFrame(java.lang.String); Code: 0: aload_0 1: aload_1 2: invokevirtual #599 // Method supportedElectricFxBones:(Ljava/lang/String;)Ljava/util/List; 5: astore_2 6: aload_2 7: invokeinterface #709, 1 // InterfaceMethod java/util/List.isEmpty:()Z 12: ifeq 16 15: return 16: invokestatic #715 // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft; 19: getfield #719 // Field net/minecraft/client/Minecraft.f_91073_:Lnet/minecraft/client/multiplayer/ClientLevel; 22: ifnull 37 25: invokestatic #715 // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft; 28: getfield #719 // Field net/minecraft/client/Minecraft.f_91073_:Lnet/minecraft/client/multiplayer/ClientLevel; 31: invokevirtual #725 // Method net/minecraft/client/multiplayer/ClientLevel.m_46467_:()J 34: goto 44 37: invokestatic #730 // Method net/minecraft/Util.m_137550_:()J 40: ldc2_w #731 // long 50l 43: ldiv 44: lstore_3 45: lload_3 46: ldc2_w #733 // long 3l 49: ldiv 50: aload_2 51: invokeinterface #737, 1 // InterfaceMethod java/util/List.size:()I 56: i2l 57: lrem 58: l2i 59: istore 5 61: aload_0 62: aload_2 63: iload 5 65: invokeinterface #740, 2 // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object; 70: checkcast #129 // class java/lang/String 73: iconst_0 74: invokevirtual #437 // Method setBoneHidden:(Ljava/lang/String;Z)V 77: return private int chainsawTextureFrame(); Code: 0: invokestatic #715 // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft; 3: getfield #719 // Field net/minecraft/client/Minecraft.f_91073_:Lnet/minecraft/client/multiplayer/ClientLevel; 6: ifnull 21 9: invokestatic #715 // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft; 12: getfield #719 // Field net/minecraft/client/Minecraft.f_91073_:Lnet/minecraft/client/multiplayer/ClientLevel; 15: invokevirtual #725 // Method net/minecraft/client/multiplayer/ClientLevel.m_46467_:()J 18: goto 28 21: invokestatic #730 // Method net/minecraft/Util.m_137550_:()J 24: ldc2_w #731 // long 50l 27: ldiv 28: lstore_1 29: lload_1 30: ldc2_w #744 // long 2l 33: ldiv 34: lconst_1 35: land 36: l2i 37: ireturn private boolean hasBone(java.lang.String); Code: 0: aload_0 1: invokevirtual #336 // Method getAnimationProcessor:()Lsoftware/bernie/geckolib/core/animation/AnimationProcessor; 4: aload_1 5: invokevirtual #344 // Method software/bernie/geckolib/core/animation/AnimationProcessor.getBone:(Ljava/lang/String;)Lsoftware/bernie/geckolib/core/animatable/model/CoreGeoBone; 8: ifnull 15 11: iconst_1 12: goto 16 15: iconst_0 16: ireturn private void setBoneHidden(java.lang.String, boolean); Code: 0: aload_0 1: invokevirtual #336 // Method getAnimationProcessor:()Lsoftware/bernie/geckolib/core/animation/AnimationProcessor; 4: aload_1 5: invokevirtual #344 // Method software/bernie/geckolib/core/animation/AnimationProcessor.getBone:(Ljava/lang/String;)Lsoftware/bernie/geckolib/core/animatable/model/CoreGeoBone; 8: astore_3 9: aload_3 10: ifnull 20 13: aload_3 14: iload_2 15: invokeinterface #749, 2 // InterfaceMethod software/bernie/geckolib/core/animatable/model/CoreGeoBone.setHidden:(Z)V 20: return private static net.minecraft.resources.ResourceLocation firstExisting(java.lang.String, java.lang.String...); Code: 0: new #120 // class net/minecraft/resources/ResourceLocation 3: dup 4: ldc_w #752 // String sa_combat 7: aload_0 8: invokespecial #755 // Method net/minecraft/resources/ResourceLocation."":(Ljava/lang/String;Ljava/lang/String;)V 11: astore_2 12: aload_2 13: invokestatic #759 // Method textureExists:(Lnet/minecraft/resources/ResourceLocation;)Z 16: ifeq 21 19: aload_2 20: areturn 21: aload_1 22: astore_3 23: aload_3 24: arraylength 25: istore 4 27: iconst_0 28: istore 5 30: iload 5 32: iload 4 34: if_icmpge 74 37: aload_3 38: iload 5 40: aaload 41: astore 6 43: new #120 // class net/minecraft/resources/ResourceLocation 46: dup 47: ldc_w #752 // String sa_combat 50: aload 6 52: invokespecial #755 // Method net/minecraft/resources/ResourceLocation."":(Ljava/lang/String;Ljava/lang/String;)V 55: astore 7 57: aload 7 59: invokestatic #759 // Method textureExists:(Lnet/minecraft/resources/ResourceLocation;)Z 62: ifeq 68 65: aload 7 67: areturn 68: iinc 5, 1 71: goto 30 74: aload_2 75: areturn private static boolean textureExists(net.minecraft.resources.ResourceLocation); Code: 0: aload_0 1: invokestatic #765 // Method resourceExists:(Lnet/minecraft/resources/ResourceLocation;)Z 4: ireturn private static boolean resourceExists(net.minecraft.resources.ResourceLocation); Code: 0: getstatic #770 // Field RESOURCE_EXISTS_CACHE:Ljava/util/Map; 3: aload_0 4: invokeinterface #138, 2 // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object; 9: checkcast #772 // class java/lang/Boolean 12: astore_1 13: aload_1 14: ifnull 22 17: aload_1 18: invokevirtual #775 // Method java/lang/Boolean.booleanValue:()Z 21: ireturn 22: invokestatic #715 // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft; 25: invokevirtual #779 // Method net/minecraft/client/Minecraft.m_91098_:()Lnet/minecraft/server/packs/resources/ResourceManager; 28: aload_0 29: invokeinterface #785, 2 // InterfaceMethod net/minecraft/server/packs/resources/ResourceManager.m_213713_:(Lnet/minecraft/resources/ResourceLocation;)Ljava/util/Optional; 34: invokevirtual #790 // Method java/util/Optional.isPresent:()Z 37: istore_2 38: goto 44 41: astore_3 42: iconst_0 43: istore_2 44: getstatic #770 // Field RESOURCE_EXISTS_CACHE:Ljava/util/Map; 47: aload_0 48: iload_2 49: invokestatic #794 // Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean; 52: invokeinterface #154, 3 // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 57: pop 58: iload_2 59: ireturn Exception table: from to target type 22 38 41 Class java/lang/Exception public static void clearResourceExistenceCache(); Code: 0: getstatic #770 // Field RESOURCE_EXISTS_CACHE:Ljava/util/Map; 3: invokeinterface #602, 1 // InterfaceMethod java/util/Map.clear:()V 8: getstatic #135 // Field TEXTURE_RESOURCE_CACHE:Ljava/util/Map; 11: invokeinterface #602, 1 // InterfaceMethod java/util/Map.clear:()V 16: getstatic #242 // Field ANIMATION_RESOURCE_CACHE:Ljava/util/Map; 19: invokeinterface #602, 1 // InterfaceMethod java/util/Map.clear:()V 24: getstatic #652 // Field ATTACHMENT_BONE_CANDIDATES_CACHE:Ljava/util/Map; 27: invokeinterface #602, 1 // InterfaceMethod java/util/Map.clear:()V 32: getstatic #58 // Field dynamicBoneCacheGeneration:I 35: iconst_1 36: iadd 37: putstatic #58 // Field dynamicBoneCacheGeneration:I 40: return private static java.lang.String itemPath(com.ogaba.sa_combat.combat.weapon.SAWeaponItem); Code: 0: getstatic #802 // Field ITEM_PATH_CACHE:Ljava/util/Map; 3: aload_0 4: invokedynamic #808, 0 // InvokeDynamic #12:apply:()Ljava/util/function/Function; 9: invokeinterface #118, 3 // InterfaceMethod java/util/Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object; 14: checkcast #129 // class java/lang/String 17: areturn public net.minecraft.resources.ResourceLocation getAnimationResource(software.bernie.geckolib.core.animatable.GeoAnimatable); Code: 0: aload_0 1: aload_1 2: checkcast #182 // class com/ogaba/sa_combat/combat/weapon/SAWeaponItem 5: invokevirtual #812 // Method getAnimationResource:(Lcom/ogaba/sa_combat/combat/weapon/SAWeaponItem;)Lnet/minecraft/resources/ResourceLocation; 8: areturn public net.minecraft.resources.ResourceLocation getTextureResource(software.bernie.geckolib.core.animatable.GeoAnimatable); Code: 0: aload_0 1: aload_1 2: checkcast #182 // class com/ogaba/sa_combat/combat/weapon/SAWeaponItem 5: invokevirtual #814 // Method getTextureResource:(Lcom/ogaba/sa_combat/combat/weapon/SAWeaponItem;)Lnet/minecraft/resources/ResourceLocation; 8: areturn public net.minecraft.resources.ResourceLocation getModelResource(software.bernie.geckolib.core.animatable.GeoAnimatable); Code: 0: aload_0 1: aload_1 2: checkcast #182 // class com/ogaba/sa_combat/combat/weapon/SAWeaponItem 5: invokevirtual #816 // Method getModelResource:(Lcom/ogaba/sa_combat/combat/weapon/SAWeaponItem;)Lnet/minecraft/resources/ResourceLocation; 8: areturn public void setCustomAnimations(software.bernie.geckolib.core.animatable.GeoAnimatable, long, software.bernie.geckolib.core.animation.AnimationState); Code: 0: aload_0 1: aload_1 2: checkcast #182 // class com/ogaba/sa_combat/combat/weapon/SAWeaponItem 5: lload_2 6: aload 4 8: invokevirtual #818 // Method setCustomAnimations:(Lcom/ogaba/sa_combat/combat/weapon/SAWeaponItem;JLsoftware/bernie/geckolib/core/animation/AnimationState;)V 11: return private static java.lang.String lambda$itemPath$7(com.ogaba.sa_combat.combat.weapon.SAWeaponItem); Code: 0: getstatic #824 // Field net/minecraft/core/registries/BuiltInRegistries.f_257033_:Lnet/minecraft/core/DefaultedRegistry; 3: aload_0 4: invokeinterface #830, 2 // InterfaceMethod net/minecraft/core/DefaultedRegistry.m_7981_:(Ljava/lang/Object;)Lnet/minecraft/resources/ResourceLocation; 9: astore_1 10: aload_1 11: ifnonnull 19 14: ldc #127 // String baseball_bat 16: goto 23 19: aload_1 20: invokevirtual #641 // Method net/minecraft/resources/ResourceLocation.m_135815_:()Ljava/lang/String; 23: areturn private static boolean lambda$computeAttachmentBoneCandidates$6(java.lang.String); Code: 0: aload_0 1: ifnull 15 4: aload_0 5: invokevirtual #626 // Method java/lang/String.isBlank:()Z 8: ifne 15 11: iconst_1 12: goto 16 15: iconst_0 16: ireturn private static boolean lambda$computeAttachmentBoneCandidates$5(java.lang.String); Code: 0: aload_0 1: ifnull 15 4: aload_0 5: invokevirtual #626 // Method java/lang/String.isBlank:()Z 8: ifne 15 11: iconst_1 12: goto 16 15: iconst_0 16: ireturn private static boolean lambda$computeAttachmentBoneCandidates$4(java.lang.String); Code: 0: aload_0 1: ifnull 15 4: aload_0 5: invokevirtual #626 // Method java/lang/String.isBlank:()Z 8: ifne 15 11: iconst_1 12: goto 16 15: iconst_0 16: ireturn private java.util.List lambda$supportedElectricFxBones$3(java.lang.String); Code: 0: new #835 // class java/util/ArrayList 3: dup 4: getstatic #837 // Field ELECTRIC_FX_BONES:Ljava/util/List; 7: invokeinterface #737, 1 // InterfaceMethod java/util/List.size:()I 12: invokespecial #840 // Method java/util/ArrayList."":(I)V 15: astore_2 16: getstatic #837 // Field ELECTRIC_FX_BONES:Ljava/util/List; 19: invokeinterface #506, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator; 24: astore_3 25: aload_3 26: invokeinterface #511, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 31: ifeq 66 34: aload_3 35: invokeinterface #515, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 40: checkcast #129 // class java/lang/String 43: astore 4 45: aload_0 46: aload 4 48: invokevirtual #585 // Method hasBone:(Ljava/lang/String;)Z 51: ifeq 63 54: aload_2 55: aload 4 57: invokeinterface #843, 2 // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z 62: pop 63: goto 25 66: aload_2 67: invokestatic #847 // InterfaceMethod java/util/List.copyOf:(Ljava/util/Collection;)Ljava/util/List; 70: areturn private java.util.List lambda$supportedAttachmentBones$2(java.lang.String); Code: 0: new #850 // class java/util/LinkedHashSet 3: dup 4: invokespecial #851 // Method java/util/LinkedHashSet."":()V 7: astore_2 8: invokestatic #857 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachmentRegistry.values:()Ljava/util/Collection; 11: invokeinterface #860, 1 // InterfaceMethod java/util/Collection.iterator:()Ljava/util/Iterator; 16: astore_3 17: aload_3 18: invokeinterface #511, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 23: ifeq 104 26: aload_3 27: invokeinterface #515, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 32: checkcast #619 // class com/ogaba/sa_combat/combat/attachment/WeaponAttachment 35: astore 4 37: aload 4 39: ifnonnull 45 42: goto 17 45: aload_0 46: aload 4 48: invokevirtual #649 // Method attachmentBoneCandidates:(Lcom/ogaba/sa_combat/combat/attachment/WeaponAttachment;)Ljava/util/List; 51: invokeinterface #506, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator; 56: astore 5 58: aload 5 60: invokeinterface #511, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 65: ifeq 101 68: aload 5 70: invokeinterface #515, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 75: checkcast #129 // class java/lang/String 78: astore 6 80: aload_0 81: aload 6 83: invokevirtual #585 // Method hasBone:(Ljava/lang/String;)Z 86: ifeq 98 89: aload_2 90: aload 6 92: invokeinterface #863, 2 // InterfaceMethod java/util/Set.add:(Ljava/lang/Object;)Z 97: pop 98: goto 58 101: goto 17 104: aload_2 105: invokestatic #847 // InterfaceMethod java/util/List.copyOf:(Ljava/util/Collection;)Ljava/util/List; 108: areturn private static net.minecraft.resources.ResourceLocation lambda$getAnimationResource$1(java.lang.String); Code: 0: new #120 // class net/minecraft/resources/ResourceLocation 3: dup 4: ldc_w #752 // String sa_combat 7: aload_0 8: invokedynamic #868, 0 // InvokeDynamic #13:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String; 13: invokespecial #755 // Method net/minecraft/resources/ResourceLocation."":(Ljava/lang/String;Ljava/lang/String;)V 16: astore_1 17: aload_1 18: invokestatic #765 // Method resourceExists:(Lnet/minecraft/resources/ResourceLocation;)Z 21: ifeq 26 24: aload_1 25: areturn 26: aload_0 27: invokestatic #216 // Method isShieldPath:(Ljava/lang/String;)Z 30: ifeq 56 33: new #120 // class net/minecraft/resources/ResourceLocation 36: dup 37: ldc_w #752 // String sa_combat 40: ldc_w #870 // String animations/item/shield.animation.json 43: invokespecial #755 // Method net/minecraft/resources/ResourceLocation."":(Ljava/lang/String;Ljava/lang/String;)V 46: astore_2 47: aload_2 48: invokestatic #765 // Method resourceExists:(Lnet/minecraft/resources/ResourceLocation;)Z 51: ifeq 56 54: aload_2 55: areturn 56: new #120 // class net/minecraft/resources/ResourceLocation 59: dup 60: ldc_w #752 // String sa_combat 63: ldc_w #872 // String animations/item/empty.animation.json 66: invokespecial #755 // Method net/minecraft/resources/ResourceLocation."":(Ljava/lang/String;Ljava/lang/String;)V 69: areturn private static net.minecraft.resources.ResourceLocation lambda$getModelResource$0(java.lang.String); Code: 0: new #120 // class net/minecraft/resources/ResourceLocation 3: dup 4: ldc_w #752 // String sa_combat 7: aload_0 8: invokedynamic #877, 0 // InvokeDynamic #14:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String; 13: invokespecial #755 // Method net/minecraft/resources/ResourceLocation."":(Ljava/lang/String;Ljava/lang/String;)V 16: areturn static {}; Code: 0: new #880 // class java/util/concurrent/ConcurrentHashMap 3: dup 4: invokespecial #881 // Method java/util/concurrent/ConcurrentHashMap."":()V 7: putstatic #770 // Field RESOURCE_EXISTS_CACHE:Ljava/util/Map; 10: new #880 // class java/util/concurrent/ConcurrentHashMap 13: dup 14: invokespecial #881 // Method java/util/concurrent/ConcurrentHashMap."":()V 17: putstatic #652 // Field ATTACHMENT_BONE_CANDIDATES_CACHE:Ljava/util/Map; 20: new #880 // class java/util/concurrent/ConcurrentHashMap 23: dup 24: invokespecial #881 // Method java/util/concurrent/ConcurrentHashMap."":()V 27: putstatic #802 // Field ITEM_PATH_CACHE:Ljava/util/Map; 30: new #880 // class java/util/concurrent/ConcurrentHashMap 33: dup 34: invokespecial #881 // Method java/util/concurrent/ConcurrentHashMap."":()V 37: putstatic #100 // Field MODEL_RESOURCE_CACHE:Ljava/util/Map; 40: new #880 // class java/util/concurrent/ConcurrentHashMap 43: dup 44: invokespecial #881 // Method java/util/concurrent/ConcurrentHashMap."":()V 47: putstatic #135 // Field TEXTURE_RESOURCE_CACHE:Ljava/util/Map; 50: new #880 // class java/util/concurrent/ConcurrentHashMap 53: dup 54: invokespecial #881 // Method java/util/concurrent/ConcurrentHashMap."":()V 57: putstatic #242 // Field ANIMATION_RESOURCE_CACHE:Ljava/util/Map; 60: bipush 16 62: anewarray #129 // class java/lang/String 65: dup 66: iconst_0 67: ldc_w #883 // String attach_core_electric_fx_0 70: aastore 71: dup 72: iconst_1 73: ldc_w #885 // String attach_core_electric_fx_1 76: aastore 77: dup 78: iconst_2 79: ldc_w #887 // String attach_core_electric_fx_2 82: aastore 83: dup 84: iconst_3 85: ldc_w #889 // String attach_core_electric_fx_3 88: aastore 89: dup 90: iconst_4 91: ldc_w #891 // String attach_core_electric_fx_4 94: aastore 95: dup 96: iconst_5 97: ldc_w #893 // String attach_core_electric_fx_5 100: aastore 101: dup 102: bipush 6 104: ldc_w #895 // String attach_core_electric_fx_6 107: aastore 108: dup 109: bipush 7 111: ldc_w #897 // String attach_core_electric_fx_7 114: aastore 115: dup 116: bipush 8 118: ldc_w #899 // String electric_fx_0 121: aastore 122: dup 123: bipush 9 125: ldc_w #901 // String electric_fx_1 128: aastore 129: dup 130: bipush 10 132: ldc_w #903 // String electric_fx_2 135: aastore 136: dup 137: bipush 11 139: ldc_w #905 // String electric_fx_3 142: aastore 143: dup 144: bipush 12 146: ldc_w #907 // String electric_fx_4 149: aastore 150: dup 151: bipush 13 153: ldc_w #909 // String electric_fx_5 156: aastore 157: dup 158: bipush 14 160: ldc_w #911 // String electric_fx_6 163: aastore 164: dup 165: bipush 15 167: ldc_w #913 // String electric_fx_7 170: aastore 171: invokestatic #916 // InterfaceMethod java/util/List.of:([Ljava/lang/Object;)Ljava/util/List; 174: putstatic #837 // Field ELECTRIC_FX_BONES:Ljava/util/List; 177: ldc_w #575 // String arrow 180: ldc_w #413 // String arrow_bolt 183: ldc_w #415 // String arrow_Improvised 186: ldc_w #563 // String arrow_improvised 189: ldc_w #571 // String tactical_arrow 192: ldc_w #565 // String improvised_arrow 195: ldc_w #573 // String bolt 198: invokestatic #919 // InterfaceMethod java/util/List.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List; 201: putstatic #582 // Field CROSSBOW_PROJECTILE_BONES:Ljava/util/List; 204: return } ==================== com.ogaba.sa_combat.client.render.NailGunAimClient ==================== Compiled from "NailGunAimClient.java" public final class com.ogaba.sa_combat.client.render.NailGunAimClient { private static final float OPEN_RESPONSE_PER_SECOND; private static final float CLOSE_RESPONSE_PER_SECOND; private static final float AIM_MOVEMENT_MULTIPLIER; private static float progress; private static long lastUpdateNanos; private com.ogaba.sa_combat.client.render.NailGunAimClient(); Code: 0: aload_0 1: invokespecial #19 // Method java/lang/Object."":()V 4: return public static void tick(); Code: 0: invokestatic #28 // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft; 3: astore_0 4: invokestatic #34 // Method java/lang/System.nanoTime:()J 7: lstore_1 8: getstatic #36 // Field lastUpdateNanos:J 11: lconst_0 12: lcmp 13: ifne 22 16: ldc #37 // float 0.05f 18: fstore_3 19: goto 38 22: lload_1 23: getstatic #36 // Field lastUpdateNanos:J 26: lsub 27: l2f 28: ldc #38 // float 1.0E9f 30: fdiv 31: fconst_0 32: ldc #39 // float 0.1f 34: invokestatic #45 // Method net/minecraft/util/Mth.m_14036_:(FFF)F 37: fstore_3 38: lload_1 39: putstatic #36 // Field lastUpdateNanos:J 42: aload_0 43: invokestatic #49 // Method shouldAim:(Lnet/minecraft/client/Minecraft;)Z 46: ifeq 53 49: fconst_1 50: goto 54 53: fconst_0 54: fstore 4 56: fload 4 58: getstatic #51 // Field progress:F 61: fcmpl 62: ifle 70 65: ldc #8 // float 18.0f 67: goto 72 70: ldc #10 // float 22.0f 72: fstore 5 74: fconst_1 75: fload 5 77: fneg 78: fload_3 79: fmul 80: f2d 81: invokestatic #57 // Method java/lang/Math.exp:(D)D 84: d2f 85: fsub 86: fstore 6 88: fload 6 90: getstatic #51 // Field progress:F 93: fload 4 95: invokestatic #60 // Method net/minecraft/util/Mth.m_14179_:(FFF)F 98: putstatic #51 // Field progress:F 101: getstatic #51 // Field progress:F 104: ldc #61 // float 5.0E-4f 106: fcmpg 107: ifge 124 110: fload 4 112: fconst_0 113: fcmpl 114: ifne 124 117: fconst_0 118: putstatic #51 // Field progress:F 121: goto 144 124: getstatic #51 // Field progress:F 127: ldc #62 // float 0.9995f 129: fcmpl 130: ifle 144 133: fload 4 135: fconst_1 136: fcmpl 137: ifne 144 140: fconst_1 141: putstatic #51 // Field progress:F 144: return private static boolean shouldAim(net.minecraft.client.Minecraft); Code: 0: aload_0 1: getfield #73 // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer; 4: astore_1 5: aload_1 6: ifnull 42 9: aload_0 10: getfield #77 // Field net/minecraft/client/Minecraft.f_91080_:Lnet/minecraft/client/gui/screens/Screen; 13: ifnonnull 42 16: aload_0 17: getfield #81 // Field net/minecraft/client/Minecraft.f_91066_:Lnet/minecraft/client/Options; 20: invokevirtual #87 // Method net/minecraft/client/Options.m_92176_:()Lnet/minecraft/client/CameraType; 23: invokevirtual #93 // Method net/minecraft/client/CameraType.m_90612_:()Z 26: ifeq 42 29: aload_0 30: getfield #81 // Field net/minecraft/client/Minecraft.f_91066_:Lnet/minecraft/client/Options; 33: getfield #97 // Field net/minecraft/client/Options.f_92095_:Lnet/minecraft/client/KeyMapping; 36: invokevirtual #102 // Method net/minecraft/client/KeyMapping.m_90857_:()Z 39: ifne 44 42: iconst_0 43: ireturn 44: aload_1 45: invokevirtual #108 // Method net/minecraft/world/entity/player/Player.m_21205_:()Lnet/minecraft/world/item/ItemStack; 48: astore_2 49: aload_2 50: invokevirtual #114 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item; 53: instanceof #116 // class com/ogaba/sa_combat/combat/weapon/NailGunItem 56: ifeq 77 59: aload_2 60: invokestatic #120 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.isReloading:(Lnet/minecraft/world/item/ItemStack;)Z 63: ifne 77 66: aload_2 67: invokestatic #123 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.isClientReloadAnimationActive:(Lnet/minecraft/world/item/ItemStack;)Z 70: ifne 77 73: iconst_1 74: goto 78 77: iconst_0 78: ireturn public static float getProgress(); Code: 0: getstatic #51 // Field progress:F 3: fconst_0 4: fconst_1 5: invokestatic #45 // Method net/minecraft/util/Mth.m_14036_:(FFF)F 8: fstore_0 9: fload_0 10: fload_0 11: fmul 12: ldc #130 // float 3.0f 14: fconst_2 15: fload_0 16: fmul 17: fsub 18: fmul 19: freturn public static boolean isAiming(net.minecraft.world.entity.player.Player); Code: 0: aload_0 1: ifnull 30 4: aload_0 5: invokevirtual #108 // Method net/minecraft/world/entity/player/Player.m_21205_:()Lnet/minecraft/world/item/ItemStack; 8: invokevirtual #114 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item; 11: instanceof #116 // class com/ogaba/sa_combat/combat/weapon/NailGunItem 14: ifeq 30 17: invokestatic #135 // Method getProgress:()F 20: ldc #136 // float 0.01f 22: fcmpl 23: ifle 30 26: iconst_1 27: goto 31 30: iconst_0 31: ireturn public static float getMovementMultiplier(); Code: 0: invokestatic #135 // Method getProgress:()F 3: fconst_1 4: ldc #12 // float 0.58f 6: invokestatic #60 // Method net/minecraft/util/Mth.m_14179_:(FFF)F 9: freturn public static void reset(); Code: 0: fconst_0 1: putstatic #51 // Field progress:F 4: lconst_0 5: putstatic #36 // Field lastUpdateNanos:J 8: return } ==================== com.ogaba.sa_combat.combat.weapon.NailGunItem ==================== Compiled from "NailGunItem.java" public class com.ogaba.sa_combat.combat.weapon.NailGunItem extends com.ogaba.sa_combat.combat.weapon.SAWeaponItem { private static final java.lang.String NBT_MAGAZINE; private static final java.lang.String NBT_RELOADING; private static final java.lang.String NBT_RELOAD_TARGET; private static final java.lang.String NBT_RELOAD_END_TICK; private static final java.lang.String NBT_SERVER_NEXT_FIRE_SCALED; private static final int BASE_MAGAZINE_CAPACITY; private static final int EXTENDED_MAGAZINE_CAPACITY; public static final int RELOAD_TICKS; public static final float AUTO_FIRE_RATE_PER_SECOND; private static final long SHOOT_ANIM_DURATION_MS; private static final float BASE_INACCURACY; private static final float STOCK_INACCURACY; private static final float BASE_VOLUME; private static final float SILENCED_VOLUME; private static final float BASE_PITCH_MIN; private static final float BASE_PITCH_MAX; private static final float SILENCED_PITCH_MIN; private static final float SILENCED_PITCH_MAX; private static final float NAIL_VELOCITY; private static final float SILENCED_NAIL_VELOCITY; private static final double MUZZLE_FORWARD_HIP; private static final double MUZZLE_FORWARD_AIM; private static final double MUZZLE_RIGHT_HIP; private static final double MUZZLE_DOWN_HIP; private static final double MUZZLE_DOWN_AIM; private static final double MUZZLE_STRAFE_COMPENSATION; private static final double MUZZLE_STRAFE_COMPENSATION_LIMIT; private static final double AIM_CONVERGENCE_DISTANCE; private static final net.minecraft.resources.ResourceLocation NAIL_ITEM_ID; private static final software.bernie.geckolib.core.animation.RawAnimation ANIM_IDLE; private static final software.bernie.geckolib.core.animation.RawAnimation ANIM_DRAW; private static final software.bernie.geckolib.core.animation.RawAnimation ANIM_SHOOT; private static final software.bernie.geckolib.core.animation.RawAnimation ANIM_RELOAD; private static final java.util.Map CLIENT_SHOOT_ANIM_START; private static final java.util.Map CLIENT_LAST_HANDLED_SHOT; private static final java.util.Map CLIENT_LAST_HAND_RENDER; private static final java.util.Map CLIENT_DRAW_ANIM_START; private static final java.util.Map CLIENT_LAST_HANDLED_DRAW; private static final java.util.Map CLIENT_RELOAD_ANIM_START; private static final java.util.Map CLIENT_LAST_HANDLED_RELOAD; private static final long DRAW_ANIM_DURATION_MS; private static final long DRAW_REARM_GAP_MS; private static int reloadTicksForStack(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: invokestatic #131 // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData.getSpeedBonus:(Lnet/minecraft/world/item/ItemStack;)D 4: aload_0 5: invokestatic #134 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachmentData.getSpeedBonus:(Lnet/minecraft/world/item/ItemStack;)D 8: dadd 9: dstore_1 10: dload_1 11: ldc2_w #135 // double 0.1d 14: ddiv 15: invokestatic #142 // Method java/lang/Math.round:(D)J 18: l2i 19: istore_3 20: iload_3 21: iconst_4 22: imul 23: istore 4 25: bipush 15 27: bipush 37 29: iload 4 31: isub 32: invokestatic #146 // Method java/lang/Math.max:(II)I 35: ireturn public com.ogaba.sa_combat.combat.weapon.NailGunItem(com.ogaba.sa_combat.combat.weapon.WeaponDefinition); Code: 0: aload_0 1: aload_1 2: invokespecial #155 // Method com/ogaba/sa_combat/combat/weapon/SAWeaponItem."":(Lcom/ogaba/sa_combat/combat/weapon/WeaponDefinition;)V 5: return public net.minecraft.world.item.UseAnim m_6164_(net.minecraft.world.item.ItemStack); Code: 0: getstatic #167 // Field net/minecraft/world/item/UseAnim.NONE:Lnet/minecraft/world/item/UseAnim; 3: areturn public boolean shouldCauseReequipAnimation(net.minecraft.world.item.ItemStack, net.minecraft.world.item.ItemStack, boolean); Code: 0: iload_3 1: ifeq 6 4: iconst_1 5: ireturn 6: aload_1 7: invokevirtual #175 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 10: ifne 20 13: aload_2 14: invokevirtual #175 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 17: ifeq 37 20: aload_1 21: invokevirtual #175 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 24: aload_2 25: invokevirtual #175 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 28: if_icmpeq 35 31: iconst_1 32: goto 36 35: iconst_0 36: ireturn 37: aload_1 38: invokevirtual #179 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item; 41: aload_2 42: invokevirtual #179 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item; 45: if_acmpeq 52 48: iconst_1 49: goto 53 52: iconst_0 53: ireturn public boolean shouldCauseBlockBreakReset(net.minecraft.world.item.ItemStack, net.minecraft.world.item.ItemStack); Code: 0: aload_1 1: invokevirtual #179 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item; 4: aload_2 5: invokevirtual #179 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item; 8: if_acmpeq 15 11: iconst_1 12: goto 16 15: iconst_0 16: ireturn public com.google.common.collect.Multimap m_7167_(net.minecraft.world.entity.EquipmentSlot); Code: 0: invokestatic #194 // Method com/google/common/collect/ImmutableMultimap.of:()Lcom/google/common/collect/ImmutableMultimap; 3: areturn public com.google.common.collect.Multimap getAttributeModifiers(net.minecraft.world.entity.EquipmentSlot, net.minecraft.world.item.ItemStack); Code: 0: invokestatic #194 // Method com/google/common/collect/ImmutableMultimap.of:()Lcom/google/common/collect/ImmutableMultimap; 3: areturn public boolean m_7579_(net.minecraft.world.item.ItemStack, net.minecraft.world.entity.LivingEntity, net.minecraft.world.entity.LivingEntity); Code: 0: iconst_0 1: ireturn public net.minecraft.world.InteractionResultHolder m_7203_(net.minecraft.world.level.Level, net.minecraft.world.entity.player.Player, net.minecraft.world.InteractionHand); Code: 0: aload_2 1: aload_3 2: invokevirtual #213 // Method net/minecraft/world/entity/player/Player.m_21120_:(Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/item/ItemStack; 5: invokestatic #219 // Method net/minecraft/world/InteractionResultHolder.m_19100_:(Ljava/lang/Object;)Lnet/minecraft/world/InteractionResultHolder; 8: areturn public void m_6883_(net.minecraft.world.item.ItemStack, net.minecraft.world.level.Level, net.minecraft.world.entity.Entity, int, boolean); Code: 0: aload_0 1: aload_1 2: aload_2 3: aload_3 4: iload 4 6: iload 5 8: invokespecial #229 // Method com/ogaba/sa_combat/combat/weapon/SAWeaponItem.m_6883_:(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/Entity;IZ)V 11: aload_2 12: instanceof #231 // class net/minecraft/server/level/ServerLevel 15: ifeq 31 18: aload_2 19: checkcast #231 // class net/minecraft/server/level/ServerLevel 22: astore 6 24: aload_1 25: aload 6 27: invokestatic #237 // InterfaceMethod software/bernie/geckolib/animatable/GeoItem.getOrAssignId:(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/server/level/ServerLevel;)J 30: pop2 31: aload_2 32: invokevirtual #242 // Method net/minecraft/world/level/Level.m_5776_:()Z 35: ifne 61 38: aload_1 39: invokestatic #246 // Method isReloading:(Lnet/minecraft/world/item/ItemStack;)Z 42: ifeq 61 45: aload_3 46: instanceof #209 // class net/minecraft/world/entity/player/Player 49: ifeq 61 52: aload_3 53: checkcast #209 // class net/minecraft/world/entity/player/Player 56: astore 6 58: goto 62 61: return 62: iload 5 64: ifne 78 67: aload_1 68: iconst_0 69: invokestatic #250 // Method setReloading:(Lnet/minecraft/world/item/ItemStack;Z)V 72: aload_1 73: iconst_0 74: invokestatic #254 // Method setReloadTarget:(Lnet/minecraft/world/item/ItemStack;I)V 77: return 78: aload 6 80: invokevirtual #257 // Method net/minecraft/world/entity/player/Player.m_20142_:()Z 83: ifeq 92 86: aload 6 88: iconst_0 89: invokevirtual #261 // Method net/minecraft/world/entity/player/Player.m_6858_:(Z)V 92: aload_2 93: invokevirtual #265 // Method net/minecraft/world/level/Level.m_46467_:()J 96: aload_1 97: invokestatic #269 // Method getReloadEndTick:(Lnet/minecraft/world/item/ItemStack;)J 100: lcmp 101: ifge 105 104: return 105: aload_1 106: invokestatic #272 // Method getReloadTarget:(Lnet/minecraft/world/item/ItemStack;)I 109: istore 7 111: aload 6 113: invokevirtual #276 // Method net/minecraft/world/entity/player/Player.m_150110_:()Lnet/minecraft/world/entity/player/Abilities; 116: getfield #281 // Field net/minecraft/world/entity/player/Abilities.f_35937_:Z 119: istore 8 121: iload 8 123: ifne 138 126: iload 7 128: ifle 138 131: aload 6 133: iload 7 135: invokestatic #285 // Method consumeReserveAmmo:(Lnet/minecraft/world/entity/player/Player;I)V 138: aload_1 139: aload_1 140: invokestatic #288 // Method magazineCapacity:(Lnet/minecraft/world/item/ItemStack;)I 143: aload_1 144: invokestatic #291 // Method getMagazine:(Lnet/minecraft/world/item/ItemStack;)I 147: iload 7 149: iadd 150: invokestatic #294 // Method java/lang/Math.min:(II)I 153: invokestatic #297 // Method setMagazine:(Lnet/minecraft/world/item/ItemStack;I)V 156: aload_1 157: iconst_0 158: invokestatic #250 // Method setReloading:(Lnet/minecraft/world/item/ItemStack;Z)V 161: aload_1 162: iconst_0 163: invokestatic #254 // Method setReloadTarget:(Lnet/minecraft/world/item/ItemStack;I)V 166: return public boolean attemptReload(net.minecraft.world.level.Level, net.minecraft.world.entity.player.Player, net.minecraft.world.item.ItemStack); Code: 0: aload_3 1: invokestatic #246 // Method isReloading:(Lnet/minecraft/world/item/ItemStack;)Z 4: ifeq 9 7: iconst_0 8: ireturn 9: aload_3 10: invokestatic #291 // Method getMagazine:(Lnet/minecraft/world/item/ItemStack;)I 13: istore 4 15: aload_3 16: invokestatic #288 // Method magazineCapacity:(Lnet/minecraft/world/item/ItemStack;)I 19: istore 5 21: iload 4 23: iload 5 25: if_icmplt 30 28: iconst_0 29: ireturn 30: aload_2 31: invokevirtual #276 // Method net/minecraft/world/entity/player/Player.m_150110_:()Lnet/minecraft/world/entity/player/Abilities; 34: getfield #281 // Field net/minecraft/world/entity/player/Abilities.f_35937_:Z 37: istore 6 39: aload_2 40: invokestatic #311 // Method countReserveAmmo:(Lnet/minecraft/world/entity/player/Player;)I 43: istore 7 45: iload 7 47: ifgt 57 50: iload 6 52: ifne 57 55: iconst_0 56: ireturn 57: aload_2 58: invokevirtual #257 // Method net/minecraft/world/entity/player/Player.m_20142_:()Z 61: ifeq 69 64: aload_2 65: iconst_0 66: invokevirtual #261 // Method net/minecraft/world/entity/player/Player.m_6858_:(Z)V 69: iload 6 71: ifeq 82 74: iload 5 76: iload 4 78: isub 79: goto 92 82: iload 5 84: iload 4 86: isub 87: iload 7 89: invokestatic #294 // Method java/lang/Math.min:(II)I 92: istore 8 94: aload_3 95: iconst_1 96: invokestatic #250 // Method setReloading:(Lnet/minecraft/world/item/ItemStack;Z)V 99: aload_3 100: iload 8 102: invokestatic #254 // Method setReloadTarget:(Lnet/minecraft/world/item/ItemStack;I)V 105: aload_3 106: aload_1 107: invokevirtual #265 // Method net/minecraft/world/level/Level.m_46467_:()J 110: aload_3 111: invokestatic #313 // Method reloadTicksForStack:(Lnet/minecraft/world/item/ItemStack;)I 114: i2l 115: ladd 116: invokestatic #317 // Method setReloadEndTick:(Lnet/minecraft/world/item/ItemStack;J)V 119: iconst_1 120: ireturn public void fire(net.minecraft.world.level.Level, net.minecraft.world.entity.player.Player, net.minecraft.world.item.ItemStack, net.minecraft.world.InteractionHand); Code: 0: aload_0 1: aload_1 2: aload_2 3: aload_3 4: aload 4 6: fconst_0 7: invokevirtual #325 // Method fire:(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/InteractionHand;F)V 10: return public void fire(net.minecraft.world.level.Level, net.minecraft.world.entity.player.Player, net.minecraft.world.item.ItemStack, net.minecraft.world.InteractionHand, float); Code: 0: aload_1 1: invokevirtual #242 // Method net/minecraft/world/level/Level.m_5776_:()Z 4: ifeq 12 7: aload_3 8: invokestatic #329 // Method markShootAnimation:(Lnet/minecraft/world/item/ItemStack;)V 11: return 12: aload_0 13: aload_1 14: aload_2 15: aload_3 16: invokevirtual #333 // Method createNail:(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/item/ItemStack;)Lcom/ogaba/sa_combat/entity/projectile/NailEntity; 19: astore 6 21: fload 5 23: invokestatic #339 // Method java/lang/Float.isFinite:(F)Z 26: ifeq 39 29: fload 5 31: fconst_0 32: fconst_1 33: invokestatic #345 // Method net/minecraft/util/Mth.m_14036_:(FFF)F 36: goto 40 39: fconst_0 40: fstore 7 42: aload_2 43: aload 4 45: fload 7 47: invokestatic #351 // Method muzzlePosition:(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/InteractionHand;F)Lnet/minecraft/world/phys/Vec3; 50: astore 8 52: aload_2 53: aload 8 55: invokestatic #355 // Method nailAimDirection:(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/phys/Vec3;)Lnet/minecraft/world/phys/Vec3; 58: astore 9 60: aload 6 62: aload 8 64: getfield #360 // Field net/minecraft/world/phys/Vec3.f_82479_:D 67: aload 8 69: getfield #363 // Field net/minecraft/world/phys/Vec3.f_82480_:D 72: aload 8 74: getfield #366 // Field net/minecraft/world/phys/Vec3.f_82481_:D 77: invokevirtual #370 // Method com/ogaba/sa_combat/entity/projectile/NailEntity.m_6034_:(DDD)V 80: aload_3 81: invokestatic #373 // Method hasSilencer:(Lnet/minecraft/world/item/ItemStack;)Z 84: istore 10 86: aload_3 87: invokestatic #377 // Method projectileVelocity:(Lnet/minecraft/world/item/ItemStack;)F 90: fstore 11 92: aload 6 94: aload 9 96: getfield #360 // Field net/minecraft/world/phys/Vec3.f_82479_:D 99: aload 9 101: getfield #363 // Field net/minecraft/world/phys/Vec3.f_82480_:D 104: aload 9 106: getfield #366 // Field net/minecraft/world/phys/Vec3.f_82481_:D 109: fload 11 111: aload_3 112: invokestatic #380 // Method projectileInaccuracy:(Lnet/minecraft/world/item/ItemStack;)F 115: invokevirtual #384 // Method com/ogaba/sa_combat/entity/projectile/NailEntity.m_6686_:(DDDFF)V 118: aload_1 119: aload 6 121: invokevirtual #388 // Method net/minecraft/world/level/Level.m_7967_:(Lnet/minecraft/world/entity/Entity;)Z 124: pop 125: aload_3 126: iconst_0 127: aload_3 128: invokestatic #291 // Method getMagazine:(Lnet/minecraft/world/item/ItemStack;)I 131: iconst_1 132: isub 133: invokestatic #146 // Method java/lang/Math.max:(II)I 136: invokestatic #297 // Method setMagazine:(Lnet/minecraft/world/item/ItemStack;I)V 139: aload_3 140: iconst_1 141: aload_2 142: invokedynamic #410, 0 // InvokeDynamic #0:accept:()Ljava/util/function/Consumer; 147: invokevirtual #414 // Method net/minecraft/world/item/ItemStack.m_41622_:(ILnet/minecraft/world/entity/LivingEntity;Ljava/util/function/Consumer;)V 150: aload_2 151: getstatic #420 // Field net/minecraft/stats/Stats.f_12982_:Lnet/minecraft/stats/StatType; 154: aload_0 155: invokevirtual #426 // Method net/minecraft/stats/StatType.m_12902_:(Ljava/lang/Object;)Lnet/minecraft/stats/Stat; 158: invokevirtual #430 // Method net/minecraft/world/entity/player/Player.m_36246_:(Lnet/minecraft/stats/Stat;)V 161: iload 10 163: ifeq 171 166: ldc #65 // float 0.75f 168: goto 172 171: fconst_2 172: fstore 12 174: iload 10 176: ifeq 198 179: ldc #71 // float 1.08f 181: aload_1 182: getfield #436 // Field net/minecraft/world/level/Level.f_46441_:Lnet/minecraft/util/RandomSource; 185: invokeinterface #442, 1 // InterfaceMethod net/minecraft/util/RandomSource.m_188501_:()F 190: ldc_w #443 // float 0.099999905f 193: fmul 194: fadd 195: goto 214 198: ldc #67 // float 0.94f 200: aload_1 201: getfield #436 // Field net/minecraft/world/level/Level.f_46441_:Lnet/minecraft/util/RandomSource; 204: invokeinterface #442, 1 // InterfaceMethod net/minecraft/util/RandomSource.m_188501_:()F 209: ldc_w #444 // float 0.119999945f 212: fmul 213: fadd 214: fstore 13 216: aload_1 217: aload_2 218: aload_2 219: invokevirtual #448 // Method net/minecraft/world/entity/player/Player.m_20185_:()D 222: aload_2 223: invokevirtual #451 // Method net/minecraft/world/entity/player/Player.m_20186_:()D 226: aload_2 227: invokevirtual #454 // Method net/minecraft/world/entity/player/Player.m_20189_:()D 230: getstatic #460 // Field com/ogaba/sa_combat/registry/ModSounds.NAIL_GUN_SHOOT:Lnet/minecraftforge/registries/RegistryObject; 233: invokevirtual #466 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object; 236: checkcast #468 // class net/minecraft/sounds/SoundEvent 239: getstatic #474 // Field net/minecraft/sounds/SoundSource.PLAYERS:Lnet/minecraft/sounds/SoundSource; 242: fload 12 244: fload 13 246: invokevirtual #478 // Method net/minecraft/world/level/Level.m_6263_:(Lnet/minecraft/world/entity/player/Player;DDDLnet/minecraft/sounds/SoundEvent;Lnet/minecraft/sounds/SoundSource;FF)V 249: return public static void playLocalShotSound(net.minecraft.world.level.Level, net.minecraft.world.entity.player.Player, net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: ifnull 19 4: aload_1 5: ifnull 19 8: aload_2 9: ifnull 19 12: aload_2 13: invokevirtual #175 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 16: ifeq 20 19: return 20: aload_2 21: invokestatic #373 // Method hasSilencer:(Lnet/minecraft/world/item/ItemStack;)Z 24: istore_3 25: iload_3 26: ifeq 34 29: ldc #65 // float 0.75f 31: goto 35 34: fconst_2 35: fstore 4 37: iload_3 38: ifeq 60 41: ldc #71 // float 1.08f 43: aload_0 44: getfield #436 // Field net/minecraft/world/level/Level.f_46441_:Lnet/minecraft/util/RandomSource; 47: invokeinterface #442, 1 // InterfaceMethod net/minecraft/util/RandomSource.m_188501_:()F 52: ldc_w #443 // float 0.099999905f 55: fmul 56: fadd 57: goto 76 60: ldc #67 // float 0.94f 62: aload_0 63: getfield #436 // Field net/minecraft/world/level/Level.f_46441_:Lnet/minecraft/util/RandomSource; 66: invokeinterface #442, 1 // InterfaceMethod net/minecraft/util/RandomSource.m_188501_:()F 71: ldc_w #444 // float 0.119999945f 74: fmul 75: fadd 76: fstore 5 78: aload_0 79: aload_1 80: invokevirtual #448 // Method net/minecraft/world/entity/player/Player.m_20185_:()D 83: aload_1 84: invokevirtual #451 // Method net/minecraft/world/entity/player/Player.m_20186_:()D 87: aload_1 88: invokevirtual #454 // Method net/minecraft/world/entity/player/Player.m_20189_:()D 91: getstatic #460 // Field com/ogaba/sa_combat/registry/ModSounds.NAIL_GUN_SHOOT:Lnet/minecraftforge/registries/RegistryObject; 94: invokevirtual #466 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object; 97: checkcast #468 // class net/minecraft/sounds/SoundEvent 100: getstatic #474 // Field net/minecraft/sounds/SoundSource.PLAYERS:Lnet/minecraft/sounds/SoundSource; 103: fload 4 105: fload 5 107: iconst_0 108: invokevirtual #495 // Method net/minecraft/world/level/Level.m_7785_:(DDDLnet/minecraft/sounds/SoundEvent;Lnet/minecraft/sounds/SoundSource;FFZ)V 111: return public static net.minecraft.world.phys.Vec3 muzzlePosition(net.minecraft.world.entity.player.Player, net.minecraft.world.InteractionHand); Code: 0: aload_0 1: aload_1 2: fconst_0 3: invokestatic #351 // Method muzzlePosition:(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/InteractionHand;F)Lnet/minecraft/world/phys/Vec3; 6: areturn public static net.minecraft.world.phys.Vec3 muzzlePosition(net.minecraft.world.entity.player.Player, net.minecraft.world.InteractionHand, float); Code: 0: fload_2 1: fconst_0 2: fconst_1 3: invokestatic #345 // Method net/minecraft/util/Mth.m_14036_:(FFF)F 6: fstore_3 7: aload_0 8: invokevirtual #500 // Method net/minecraft/world/entity/player/Player.m_146892_:()Lnet/minecraft/world/phys/Vec3; 11: astore 4 13: aload_0 14: invokevirtual #503 // Method net/minecraft/world/entity/player/Player.m_146909_:()F 17: aload_0 18: invokevirtual #506 // Method net/minecraft/world/entity/player/Player.m_146908_:()F 21: invokestatic #510 // Method net/minecraft/world/phys/Vec3.m_82498_:(FF)Lnet/minecraft/world/phys/Vec3; 24: astore 5 26: aload_0 27: invokevirtual #506 // Method net/minecraft/world/entity/player/Player.m_146908_:()F 30: ldc_w #511 // float 0.017453292f 33: fmul 34: fstore 6 36: new #357 // class net/minecraft/world/phys/Vec3 39: dup 40: fload 6 42: invokestatic #515 // Method net/minecraft/util/Mth.m_14089_:(F)F 45: fneg 46: f2d 47: dconst_0 48: fload 6 50: invokestatic #518 // Method net/minecraft/util/Mth.m_14031_:(F)F 53: fneg 54: f2d 55: invokespecial #520 // Method net/minecraft/world/phys/Vec3."":(DDD)V 58: astore 7 60: aload_1 61: getstatic #523 // Field net/minecraft/world/InteractionHand.OFF_HAND:Lnet/minecraft/world/InteractionHand; 64: if_acmpne 73 67: ldc2_w #524 // double -1.0d 70: goto 74 73: dconst_1 74: dstore 8 76: fload_3 77: f2d 78: ldc2_w #79 // double 1.16d 81: ldc2_w #82 // double 1.3d 84: invokestatic #529 // Method net/minecraft/util/Mth.m_14139_:(DDD)D 87: dstore 10 89: fload_3 90: f2d 91: ldc2_w #85 // double 0.24d 94: dconst_0 95: invokestatic #529 // Method net/minecraft/util/Mth.m_14139_:(DDD)D 98: dload 8 100: dmul 101: dstore 12 103: fload_3 104: f2d 105: ldc2_w #88 // double 0.2d 108: ldc2_w #91 // double 0.11d 111: invokestatic #529 // Method net/minecraft/util/Mth.m_14139_:(DDD)D 114: dstore 14 116: aload_0 117: invokevirtual #532 // Method net/minecraft/world/entity/player/Player.m_20184_:()Lnet/minecraft/world/phys/Vec3; 120: astore 16 122: aload 16 124: aload 7 126: invokevirtual #536 // Method net/minecraft/world/phys/Vec3.m_82526_:(Lnet/minecraft/world/phys/Vec3;)D 129: dstore 17 131: dload 17 133: dneg 134: ldc2_w #94 // double 0.55d 137: dmul 138: ldc2_w #537 // double -0.075d 141: ldc2_w #97 // double 0.075d 144: invokestatic #541 // Method net/minecraft/util/Mth.m_14008_:(DDD)D 147: dconst_1 148: fload_3 149: f2d 150: dsub 151: dmul 152: dstore 19 154: dload 12 156: dload 19 158: dadd 159: dstore 12 161: aload 4 163: aload 5 165: dload 10 167: invokevirtual #545 // Method net/minecraft/world/phys/Vec3.m_82490_:(D)Lnet/minecraft/world/phys/Vec3; 170: invokevirtual #549 // Method net/minecraft/world/phys/Vec3.m_82549_:(Lnet/minecraft/world/phys/Vec3;)Lnet/minecraft/world/phys/Vec3; 173: aload 7 175: dload 12 177: invokevirtual #545 // Method net/minecraft/world/phys/Vec3.m_82490_:(D)Lnet/minecraft/world/phys/Vec3; 180: invokevirtual #549 // Method net/minecraft/world/phys/Vec3.m_82549_:(Lnet/minecraft/world/phys/Vec3;)Lnet/minecraft/world/phys/Vec3; 183: dconst_0 184: dload 14 186: dneg 187: dconst_0 188: invokevirtual #553 // Method net/minecraft/world/phys/Vec3.m_82520_:(DDD)Lnet/minecraft/world/phys/Vec3; 191: areturn private static net.minecraft.world.phys.Vec3 nailAimDirection(net.minecraft.world.entity.player.Player, net.minecraft.world.phys.Vec3); Code: 0: aload_0 1: invokevirtual #503 // Method net/minecraft/world/entity/player/Player.m_146909_:()F 4: aload_0 5: invokevirtual #506 // Method net/minecraft/world/entity/player/Player.m_146908_:()F 8: invokestatic #510 // Method net/minecraft/world/phys/Vec3.m_82498_:(FF)Lnet/minecraft/world/phys/Vec3; 11: astore_2 12: aload_0 13: invokevirtual #500 // Method net/minecraft/world/entity/player/Player.m_146892_:()Lnet/minecraft/world/phys/Vec3; 16: aload_2 17: ldc2_w #100 // double 12.0d 20: invokevirtual #545 // Method net/minecraft/world/phys/Vec3.m_82490_:(D)Lnet/minecraft/world/phys/Vec3; 23: invokevirtual #549 // Method net/minecraft/world/phys/Vec3.m_82549_:(Lnet/minecraft/world/phys/Vec3;)Lnet/minecraft/world/phys/Vec3; 26: astore_3 27: aload_3 28: aload_1 29: invokevirtual #568 // Method net/minecraft/world/phys/Vec3.m_82546_:(Lnet/minecraft/world/phys/Vec3;)Lnet/minecraft/world/phys/Vec3; 32: invokevirtual #571 // Method net/minecraft/world/phys/Vec3.m_82541_:()Lnet/minecraft/world/phys/Vec3; 35: areturn private com.ogaba.sa_combat.entity.projectile.NailEntity createNail(net.minecraft.world.level.Level, net.minecraft.world.entity.player.Player, net.minecraft.world.item.ItemStack); Code: 0: new #347 // class com/ogaba/sa_combat/entity/projectile/NailEntity 3: dup 4: aload_1 5: aload_2 6: invokespecial #575 // Method com/ogaba/sa_combat/entity/projectile/NailEntity."":(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/LivingEntity;)V 9: astore 4 11: aload_0 12: invokevirtual #578 // Method definitionDamage:()D 15: aload_3 16: invokestatic #581 // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData.getDamageBonus:(Lnet/minecraft/world/item/ItemStack;)D 19: dadd 20: aload_3 21: invokestatic #582 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachmentData.getDamageBonus:(Lnet/minecraft/world/item/ItemStack;)D 24: dadd 25: dstore 5 27: ldc2_w #583 // double 0.95d 30: dconst_0 31: aload_3 32: invokestatic #587 // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData.getCriticalChanceBonus:(Lnet/minecraft/world/item/ItemStack;)D 35: invokestatic #590 // Method java/lang/Math.max:(DD)D 38: invokestatic #592 // Method java/lang/Math.min:(DD)D 41: dstore 7 43: dload 7 45: dconst_0 46: dcmpl 47: ifle 80 50: aload_1 51: getfield #436 // Field net/minecraft/world/level/Level.f_46441_:Lnet/minecraft/util/RandomSource; 54: invokeinterface #595, 1 // InterfaceMethod net/minecraft/util/RandomSource.m_188500_:()D 59: dload 7 61: dcmpg 62: ifge 80 65: dload 5 67: dconst_1 68: dconst_0 69: aload_3 70: invokestatic #598 // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData.getCriticalDamageBonus:(Lnet/minecraft/world/item/ItemStack;)D 73: invokestatic #590 // Method java/lang/Math.max:(DD)D 76: dadd 77: dmul 78: dstore 5 80: dconst_1 81: dload 5 83: invokestatic #590 // Method java/lang/Math.max:(DD)D 86: dstore 9 88: aload 4 90: dload 9 92: ldc2_w #599 // double 0.05d 95: aload_3 96: invokestatic #377 // Method projectileVelocity:(Lnet/minecraft/world/item/ItemStack;)F 99: f2d 100: invokestatic #590 // Method java/lang/Math.max:(DD)D 103: ddiv 104: invokevirtual #604 // Method com/ogaba/sa_combat/entity/projectile/NailEntity.m_36781_:(D)V 107: aload_2 108: invokevirtual #276 // Method net/minecraft/world/entity/player/Player.m_150110_:()Lnet/minecraft/world/entity/player/Abilities; 111: getfield #281 // Field net/minecraft/world/entity/player/Abilities.f_35937_:Z 114: ifeq 125 117: aload 4 119: getstatic #608 // Field net/minecraft/world/entity/projectile/AbstractArrow$Pickup.CREATIVE_ONLY:Lnet/minecraft/world/entity/projectile/AbstractArrow$Pickup; 122: putfield #611 // Field com/ogaba/sa_combat/entity/projectile/NailEntity.f_36705_:Lnet/minecraft/world/entity/projectile/AbstractArrow$Pickup; 125: aload 4 127: areturn private double definitionDamage(); Code: 0: aload_0 1: invokevirtual #619 // Method getDefinition:()Lcom/ogaba/sa_combat/combat/weapon/WeaponDefinition; 4: astore_1 5: aload_1 6: ifnonnull 13 9: dconst_1 10: goto 22 13: dconst_1 14: aload_1 15: invokevirtual #625 // Method com/ogaba/sa_combat/combat/weapon/WeaponDefinition.attackDamage:()I 18: i2d 19: invokestatic #590 // Method java/lang/Math.max:(DD)D 22: dreturn private static float projectileVelocity(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: invokestatic #628 // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData.getReachBonus:(Lnet/minecraft/world/item/ItemStack;)D 4: aload_0 5: invokestatic #629 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachmentData.getReachBonus:(Lnet/minecraft/world/item/ItemStack;)D 8: dadd 9: dstore_1 10: aload_0 11: invokestatic #373 // Method hasSilencer:(Lnet/minecraft/world/item/ItemStack;)Z 14: ifeq 23 17: ldc2_w #630 // double 2.299999952316284d 20: goto 26 23: ldc2_w #632 // double 2.0d 26: dstore_3 27: ldc2_w #634 // double 3.2d 30: dload_3 31: dload_1 32: ldc2_w #636 // double 1.1d 35: dmul 36: dadd 37: invokestatic #592 // Method java/lang/Math.min:(DD)D 40: d2f 41: freturn private static float projectileInaccuracy(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: invokestatic #642 // Method hasStock:(Lnet/minecraft/world/item/ItemStack;)Z 4: ifeq 11 7: fconst_2 8: goto 13 11: ldc #60 // float 8.5f 13: freturn public static boolean hasStock(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: getstatic #648 // Field com/ogaba/sa_combat/combat/attachment/AttachmentSlot.STOCK:Lcom/ogaba/sa_combat/combat/attachment/AttachmentSlot; 4: invokestatic #652 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachmentData.hasAttachmentInSlot:(Lnet/minecraft/world/item/ItemStack;Lcom/ogaba/sa_combat/combat/attachment/AttachmentSlot;)Z 7: ireturn public static boolean hasSilencer(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: getstatic #655 // Field com/ogaba/sa_combat/combat/attachment/AttachmentSlot.SILENCER:Lcom/ogaba/sa_combat/combat/attachment/AttachmentSlot; 4: invokestatic #652 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachmentData.hasAttachmentInSlot:(Lnet/minecraft/world/item/ItemStack;Lcom/ogaba/sa_combat/combat/attachment/AttachmentSlot;)Z 7: ireturn public static boolean hasExtendedMag(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: getstatic #659 // Field com/ogaba/sa_combat/combat/attachment/AttachmentSlot.MAGAZINE:Lcom/ogaba/sa_combat/combat/attachment/AttachmentSlot; 4: invokestatic #652 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachmentData.hasAttachmentInSlot:(Lnet/minecraft/world/item/ItemStack;Lcom/ogaba/sa_combat/combat/attachment/AttachmentSlot;)Z 7: ireturn public static int magazineCapacity(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: invokestatic #661 // Method hasExtendedMag:(Lnet/minecraft/world/item/ItemStack;)Z 4: ifeq 12 7: bipush 32 9: goto 14 12: bipush 16 14: ireturn public static boolean consumeServerFirePermit(net.minecraft.world.item.ItemStack, long); Code: 0: aload_0 1: invokevirtual #175 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 4: ifeq 9 7: iconst_0 8: ireturn 9: ldc2_w #664 // long 3l 12: lstore_3 13: ldc2_w #666 // long 5l 16: lstore 5 18: lload_1 19: ldc2_w #664 // long 3l 22: lmul 23: lstore 7 25: aload_0 26: invokevirtual #671 // Method net/minecraft/world/item/ItemStack.m_41784_:()Lnet/minecraft/nbt/CompoundTag; 29: astore 9 31: aload 9 33: ldc #44 // String SACombatNailGunServerNextFireScaled 35: invokevirtual #677 // Method net/minecraft/nbt/CompoundTag.m_128441_:(Ljava/lang/String;)Z 38: ifne 56 41: aload 9 43: ldc #44 // String SACombatNailGunServerNextFireScaled 45: lload 7 47: ldc2_w #666 // long 5l 50: ladd 51: invokevirtual #681 // Method net/minecraft/nbt/CompoundTag.m_128356_:(Ljava/lang/String;J)V 54: iconst_1 55: ireturn 56: aload 9 58: ldc #44 // String SACombatNailGunServerNextFireScaled 60: invokevirtual #685 // Method net/minecraft/nbt/CompoundTag.m_128454_:(Ljava/lang/String;)J 63: lstore 10 65: lload 10 67: lload 7 69: lsub 70: ldc2_w #686 // long 60l 73: lcmp 74: ifle 92 77: aload 9 79: ldc #44 // String SACombatNailGunServerNextFireScaled 81: lload 7 83: ldc2_w #666 // long 5l 86: ladd 87: invokevirtual #681 // Method net/minecraft/nbt/CompoundTag.m_128356_:(Ljava/lang/String;J)V 90: iconst_1 91: ireturn 92: lload 7 94: lload 10 96: lcmp 97: ifge 102 100: iconst_0 101: ireturn 102: lload 7 104: lload 10 106: lsub 107: lstore 12 109: lload 12 111: ldc2_w #666 // long 5l 114: lcmp 115: iflt 127 118: lload 7 120: ldc2_w #666 // long 5l 123: ladd 124: goto 133 127: lload 10 129: ldc2_w #666 // long 5l 132: ladd 133: lstore 14 135: aload 9 137: ldc #44 // String SACombatNailGunServerNextFireScaled 139: lload 14 141: invokevirtual #681 // Method net/minecraft/nbt/CompoundTag.m_128356_:(Ljava/lang/String;J)V 144: iconst_1 145: ireturn public static int getMagazine(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: invokevirtual #175 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 4: ifne 14 7: aload_0 8: invokevirtual #699 // Method net/minecraft/world/item/ItemStack.m_41783_:()Lnet/minecraft/nbt/CompoundTag; 11: ifnonnull 16 14: iconst_0 15: ireturn 16: aload_0 17: invokevirtual #699 // Method net/minecraft/world/item/ItemStack.m_41783_:()Lnet/minecraft/nbt/CompoundTag; 20: ldc #32 // String SACombatNailGunMagazine 22: invokevirtual #703 // Method net/minecraft/nbt/CompoundTag.m_128451_:(Ljava/lang/String;)I 25: ireturn public static void setMagazine(net.minecraft.world.item.ItemStack, int); Code: 0: aload_0 1: invokevirtual #175 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 4: ifeq 8 7: return 8: aload_0 9: invokevirtual #671 // Method net/minecraft/world/item/ItemStack.m_41784_:()Lnet/minecraft/nbt/CompoundTag; 12: ldc #32 // String SACombatNailGunMagazine 14: iconst_0 15: iload_1 16: invokestatic #146 // Method java/lang/Math.max:(II)I 19: invokevirtual #707 // Method net/minecraft/nbt/CompoundTag.m_128405_:(Ljava/lang/String;I)V 22: return public static boolean isReloading(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: invokevirtual #175 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 4: ifne 30 7: aload_0 8: invokevirtual #699 // Method net/minecraft/world/item/ItemStack.m_41783_:()Lnet/minecraft/nbt/CompoundTag; 11: ifnull 30 14: aload_0 15: invokevirtual #699 // Method net/minecraft/world/item/ItemStack.m_41783_:()Lnet/minecraft/nbt/CompoundTag; 18: ldc #35 // String SACombatNailGunReloading 20: invokevirtual #711 // Method net/minecraft/nbt/CompoundTag.m_128471_:(Ljava/lang/String;)Z 23: ifeq 30 26: iconst_1 27: goto 31 30: iconst_0 31: ireturn private static void setReloading(net.minecraft.world.item.ItemStack, boolean); Code: 0: aload_0 1: invokevirtual #175 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 4: ifeq 8 7: return 8: iload_1 9: ifeq 25 12: aload_0 13: invokevirtual #671 // Method net/minecraft/world/item/ItemStack.m_41784_:()Lnet/minecraft/nbt/CompoundTag; 16: ldc #35 // String SACombatNailGunReloading 18: iconst_1 19: invokevirtual #715 // Method net/minecraft/nbt/CompoundTag.m_128379_:(Ljava/lang/String;Z)V 22: goto 41 25: aload_0 26: invokevirtual #699 // Method net/minecraft/world/item/ItemStack.m_41783_:()Lnet/minecraft/nbt/CompoundTag; 29: ifnull 41 32: aload_0 33: invokevirtual #699 // Method net/minecraft/world/item/ItemStack.m_41783_:()Lnet/minecraft/nbt/CompoundTag; 36: ldc #35 // String SACombatNailGunReloading 38: invokevirtual #719 // Method net/minecraft/nbt/CompoundTag.m_128473_:(Ljava/lang/String;)V 41: return private static int getReloadTarget(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: invokevirtual #175 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 4: ifne 14 7: aload_0 8: invokevirtual #699 // Method net/minecraft/world/item/ItemStack.m_41783_:()Lnet/minecraft/nbt/CompoundTag; 11: ifnonnull 18 14: iconst_0 15: goto 27 18: aload_0 19: invokevirtual #699 // Method net/minecraft/world/item/ItemStack.m_41783_:()Lnet/minecraft/nbt/CompoundTag; 22: ldc #38 // String SACombatNailGunReloadTarget 24: invokevirtual #703 // Method net/minecraft/nbt/CompoundTag.m_128451_:(Ljava/lang/String;)I 27: ireturn private static void setReloadTarget(net.minecraft.world.item.ItemStack, int); Code: 0: aload_0 1: invokevirtual #175 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 4: ifeq 8 7: return 8: iload_1 9: ifgt 31 12: aload_0 13: invokevirtual #699 // Method net/minecraft/world/item/ItemStack.m_41783_:()Lnet/minecraft/nbt/CompoundTag; 16: ifnull 41 19: aload_0 20: invokevirtual #699 // Method net/minecraft/world/item/ItemStack.m_41783_:()Lnet/minecraft/nbt/CompoundTag; 23: ldc #38 // String SACombatNailGunReloadTarget 25: invokevirtual #719 // Method net/minecraft/nbt/CompoundTag.m_128473_:(Ljava/lang/String;)V 28: goto 41 31: aload_0 32: invokevirtual #671 // Method net/minecraft/world/item/ItemStack.m_41784_:()Lnet/minecraft/nbt/CompoundTag; 35: ldc #38 // String SACombatNailGunReloadTarget 37: iload_1 38: invokevirtual #707 // Method net/minecraft/nbt/CompoundTag.m_128405_:(Ljava/lang/String;I)V 41: return private static long getReloadEndTick(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: invokevirtual #175 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 4: ifne 14 7: aload_0 8: invokevirtual #699 // Method net/minecraft/world/item/ItemStack.m_41783_:()Lnet/minecraft/nbt/CompoundTag; 11: ifnonnull 18 14: lconst_0 15: goto 27 18: aload_0 19: invokevirtual #699 // Method net/minecraft/world/item/ItemStack.m_41783_:()Lnet/minecraft/nbt/CompoundTag; 22: ldc #41 // String SACombatNailGunReloadEndTick 24: invokevirtual #685 // Method net/minecraft/nbt/CompoundTag.m_128454_:(Ljava/lang/String;)J 27: lreturn private static void setReloadEndTick(net.minecraft.world.item.ItemStack, long); Code: 0: aload_0 1: invokevirtual #175 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 4: ifne 17 7: aload_0 8: invokevirtual #671 // Method net/minecraft/world/item/ItemStack.m_41784_:()Lnet/minecraft/nbt/CompoundTag; 11: ldc #41 // String SACombatNailGunReloadEndTick 13: lload_1 14: invokevirtual #681 // Method net/minecraft/nbt/CompoundTag.m_128356_:(Ljava/lang/String;J)V 17: return private static void markShootAnimation(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: invokevirtual #175 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 4: ifne 57 7: aload_0 8: invokestatic #724 // InterfaceMethod software/bernie/geckolib/animatable/GeoItem.getId:(Lnet/minecraft/world/item/ItemStack;)J 11: lstore_1 12: getstatic #726 // Field CLIENT_SHOOT_ANIM_START:Ljava/util/Map; 15: lload_1 16: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 19: invokestatic #737 // Method net/minecraft/Util.m_137550_:()J 22: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 25: invokeinterface #743, 3 // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 30: pop 31: getstatic #745 // Field CLIENT_DRAW_ANIM_START:Ljava/util/Map; 34: lload_1 35: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 38: invokeinterface #749, 2 // InterfaceMethod java/util/Map.remove:(Ljava/lang/Object;)Ljava/lang/Object; 43: pop 44: getstatic #751 // Field CLIENT_LAST_HANDLED_DRAW:Ljava/util/Map; 47: lload_1 48: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 51: invokeinterface #749, 2 // InterfaceMethod java/util/Map.remove:(Ljava/lang/Object;)Ljava/lang/Object; 56: pop 57: return public static void markClientReloadAnimation(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: ifnull 11 4: aload_0 5: invokevirtual #175 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 8: ifeq 12 11: return 12: aload_0 13: invokestatic #724 // InterfaceMethod software/bernie/geckolib/animatable/GeoItem.getId:(Lnet/minecraft/world/item/ItemStack;)J 16: lstore_1 17: getstatic #755 // Field CLIENT_RELOAD_ANIM_START:Ljava/util/Map; 20: lload_1 21: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 24: invokestatic #737 // Method net/minecraft/Util.m_137550_:()J 27: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 30: invokeinterface #743, 3 // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 35: pop 36: getstatic #757 // Field CLIENT_LAST_HANDLED_RELOAD:Ljava/util/Map; 39: lload_1 40: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 43: invokeinterface #749, 2 // InterfaceMethod java/util/Map.remove:(Ljava/lang/Object;)Ljava/lang/Object; 48: pop 49: getstatic #745 // Field CLIENT_DRAW_ANIM_START:Ljava/util/Map; 52: lload_1 53: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 56: invokeinterface #749, 2 // InterfaceMethod java/util/Map.remove:(Ljava/lang/Object;)Ljava/lang/Object; 61: pop 62: getstatic #751 // Field CLIENT_LAST_HANDLED_DRAW:Ljava/util/Map; 65: lload_1 66: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 69: invokeinterface #749, 2 // InterfaceMethod java/util/Map.remove:(Ljava/lang/Object;)Ljava/lang/Object; 74: pop 75: getstatic #726 // Field CLIENT_SHOOT_ANIM_START:Ljava/util/Map; 78: lload_1 79: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 82: invokeinterface #749, 2 // InterfaceMethod java/util/Map.remove:(Ljava/lang/Object;)Ljava/lang/Object; 87: pop 88: getstatic #759 // Field CLIENT_LAST_HANDLED_SHOT:Ljava/util/Map; 91: lload_1 92: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 95: invokeinterface #749, 2 // InterfaceMethod java/util/Map.remove:(Ljava/lang/Object;)Ljava/lang/Object; 100: pop 101: return public static boolean isClientReloadAnimationActive(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: ifnull 11 4: aload_0 5: invokevirtual #175 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 8: ifeq 13 11: iconst_0 12: ireturn 13: aload_0 14: invokestatic #724 // InterfaceMethod software/bernie/geckolib/animatable/GeoItem.getId:(Lnet/minecraft/world/item/ItemStack;)J 17: lstore_1 18: getstatic #755 // Field CLIENT_RELOAD_ANIM_START:Ljava/util/Map; 21: lload_1 22: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 25: invokeinterface #762, 2 // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object; 30: checkcast #728 // class java/lang/Long 33: astore_3 34: aload_3 35: ifnonnull 40 38: iconst_0 39: ireturn 40: aload_0 41: invokestatic #313 // Method reloadTicksForStack:(Lnet/minecraft/world/item/ItemStack;)I 44: i2l 45: ldc2_w #763 // long 50l 48: lmul 49: ldc2_w #765 // long 100l 52: ladd 53: lstore 4 55: invokestatic #737 // Method net/minecraft/Util.m_137550_:()J 58: aload_3 59: invokevirtual #769 // Method java/lang/Long.longValue:()J 62: lsub 63: lload 4 65: lcmp 66: iflt 84 69: getstatic #755 // Field CLIENT_RELOAD_ANIM_START:Ljava/util/Map; 72: lload_1 73: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 76: invokeinterface #749, 2 // InterfaceMethod java/util/Map.remove:(Ljava/lang/Object;)Ljava/lang/Object; 81: pop 82: iconst_0 83: ireturn 84: iconst_1 85: ireturn private static boolean isDrawAnimationActive(net.minecraft.world.item.ItemStack, long); Code: 0: aload_0 1: invokestatic #724 // InterfaceMethod software/bernie/geckolib/animatable/GeoItem.getId:(Lnet/minecraft/world/item/ItemStack;)J 4: lstore_3 5: getstatic #745 // Field CLIENT_DRAW_ANIM_START:Ljava/util/Map; 8: lload_3 9: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 12: invokeinterface #762, 2 // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object; 17: checkcast #728 // class java/lang/Long 20: astore 5 22: aload 5 24: ifnonnull 29 27: iconst_0 28: ireturn 29: lload_1 30: aload 5 32: invokevirtual #769 // Method java/lang/Long.longValue:()J 35: lsub 36: ldc2_w #119 // long 925l 39: lcmp 40: iflt 71 43: getstatic #745 // Field CLIENT_DRAW_ANIM_START:Ljava/util/Map; 46: lload_3 47: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 50: invokeinterface #749, 2 // InterfaceMethod java/util/Map.remove:(Ljava/lang/Object;)Ljava/lang/Object; 55: pop 56: getstatic #751 // Field CLIENT_LAST_HANDLED_DRAW:Ljava/util/Map; 59: lload_3 60: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 63: invokeinterface #749, 2 // InterfaceMethod java/util/Map.remove:(Ljava/lang/Object;)Ljava/lang/Object; 68: pop 69: iconst_0 70: ireturn 71: iconst_1 72: ireturn private static void resetForNewStart(long, java.util.Map, java.util.Map, software.bernie.geckolib.core.animation.AnimationController); Code: 0: aload_2 1: lload_0 2: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 5: invokeinterface #762, 2 // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object; 10: checkcast #728 // class java/lang/Long 13: astore 5 15: aload 5 17: ifnull 56 20: aload 5 22: aload_3 23: lload_0 24: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 27: invokeinterface #762, 2 // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object; 32: invokevirtual #781 // Method java/lang/Long.equals:(Ljava/lang/Object;)Z 35: ifne 56 38: aload 4 40: invokevirtual #785 // Method software/bernie/geckolib/core/animation/AnimationController.forceAnimationReset:()V 43: aload_3 44: lload_0 45: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 48: aload 5 50: invokeinterface #743, 3 // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 55: pop 56: return private static boolean isShootAnimationActive(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: invokevirtual #175 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 4: ifeq 9 7: iconst_0 8: ireturn 9: getstatic #726 // Field CLIENT_SHOOT_ANIM_START:Ljava/util/Map; 12: aload_0 13: invokestatic #724 // InterfaceMethod software/bernie/geckolib/animatable/GeoItem.getId:(Lnet/minecraft/world/item/ItemStack;)J 16: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 19: invokeinterface #762, 2 // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object; 24: checkcast #728 // class java/lang/Long 27: astore_1 28: aload_1 29: ifnonnull 34 32: iconst_0 33: ireturn 34: invokestatic #737 // Method net/minecraft/Util.m_137550_:()J 37: aload_1 38: invokevirtual #769 // Method java/lang/Long.longValue:()J 41: lsub 42: lstore_2 43: lload_2 44: ldc2_w #57 // long 390l 47: lcmp 48: iflt 87 51: aload_0 52: invokestatic #724 // InterfaceMethod software/bernie/geckolib/animatable/GeoItem.getId:(Lnet/minecraft/world/item/ItemStack;)J 55: lstore 4 57: getstatic #726 // Field CLIENT_SHOOT_ANIM_START:Ljava/util/Map; 60: lload 4 62: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 65: invokeinterface #749, 2 // InterfaceMethod java/util/Map.remove:(Ljava/lang/Object;)Ljava/lang/Object; 70: pop 71: getstatic #759 // Field CLIENT_LAST_HANDLED_SHOT:Ljava/util/Map; 74: lload 4 76: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 79: invokeinterface #749, 2 // InterfaceMethod java/util/Map.remove:(Ljava/lang/Object;)Ljava/lang/Object; 84: pop 85: iconst_0 86: ireturn 87: lload_2 88: lconst_0 89: lcmp 90: iflt 97 93: iconst_1 94: goto 98 97: iconst_0 98: ireturn public static void clearClientAnimationState(); Code: 0: getstatic #726 // Field CLIENT_SHOOT_ANIM_START:Ljava/util/Map; 3: invokeinterface #797, 1 // InterfaceMethod java/util/Map.clear:()V 8: getstatic #759 // Field CLIENT_LAST_HANDLED_SHOT:Ljava/util/Map; 11: invokeinterface #797, 1 // InterfaceMethod java/util/Map.clear:()V 16: getstatic #799 // Field CLIENT_LAST_HAND_RENDER:Ljava/util/Map; 19: invokeinterface #797, 1 // InterfaceMethod java/util/Map.clear:()V 24: getstatic #745 // Field CLIENT_DRAW_ANIM_START:Ljava/util/Map; 27: invokeinterface #797, 1 // InterfaceMethod java/util/Map.clear:()V 32: getstatic #751 // Field CLIENT_LAST_HANDLED_DRAW:Ljava/util/Map; 35: invokeinterface #797, 1 // InterfaceMethod java/util/Map.clear:()V 40: getstatic #755 // Field CLIENT_RELOAD_ANIM_START:Ljava/util/Map; 43: invokeinterface #797, 1 // InterfaceMethod java/util/Map.clear:()V 48: getstatic #757 // Field CLIENT_LAST_HANDLED_RELOAD:Ljava/util/Map; 51: invokeinterface #797, 1 // InterfaceMethod java/util/Map.clear:()V 56: return private static boolean isNailAmmo(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: invokevirtual #175 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 4: ifeq 9 7: iconst_0 8: ireturn 9: getstatic #806 // Field net/minecraftforge/registries/ForgeRegistries.ITEMS:Lnet/minecraftforge/registries/IForgeRegistry; 12: aload_0 13: invokevirtual #179 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item; 16: invokeinterface #812, 2 // InterfaceMethod net/minecraftforge/registries/IForgeRegistry.getKey:(Ljava/lang/Object;)Lnet/minecraft/resources/ResourceLocation; 21: astore_1 22: getstatic #814 // Field NAIL_ITEM_ID:Lnet/minecraft/resources/ResourceLocation; 25: aload_1 26: invokevirtual #817 // Method net/minecraft/resources/ResourceLocation.equals:(Ljava/lang/Object;)Z 29: ireturn public static int countReserveAmmo(net.minecraft.world.entity.player.Player); Code: 0: iconst_0 1: istore_1 2: aload_0 3: invokevirtual #821 // Method net/minecraft/world/entity/player/Player.m_150109_:()Lnet/minecraft/world/entity/player/Inventory; 6: getfield #827 // Field net/minecraft/world/entity/player/Inventory.f_35974_:Lnet/minecraft/core/NonNullList; 9: invokevirtual #833 // Method net/minecraft/core/NonNullList.iterator:()Ljava/util/Iterator; 12: astore_2 13: aload_2 14: invokeinterface #838, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 19: ifeq 49 22: aload_2 23: invokeinterface #841, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 28: checkcast #171 // class net/minecraft/world/item/ItemStack 31: astore_3 32: aload_3 33: invokestatic #843 // Method isNailAmmo:(Lnet/minecraft/world/item/ItemStack;)Z 36: ifeq 46 39: iload_1 40: aload_3 41: invokevirtual #846 // Method net/minecraft/world/item/ItemStack.m_41613_:()I 44: iadd 45: istore_1 46: goto 13 49: iload_1 50: ireturn private static void consumeReserveAmmo(net.minecraft.world.entity.player.Player, int); Code: 0: iload_1 1: istore_2 2: aload_0 3: invokevirtual #821 // Method net/minecraft/world/entity/player/Player.m_150109_:()Lnet/minecraft/world/entity/player/Inventory; 6: getfield #827 // Field net/minecraft/world/entity/player/Inventory.f_35974_:Lnet/minecraft/core/NonNullList; 9: invokevirtual #833 // Method net/minecraft/core/NonNullList.iterator:()Ljava/util/Iterator; 12: astore_3 13: aload_3 14: invokeinterface #838, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 19: ifeq 77 22: aload_3 23: invokeinterface #841, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 28: checkcast #171 // class net/minecraft/world/item/ItemStack 31: astore 4 33: iload_2 34: ifgt 40 37: goto 77 40: aload 4 42: invokestatic #843 // Method isNailAmmo:(Lnet/minecraft/world/item/ItemStack;)Z 45: ifne 51 48: goto 13 51: iload_2 52: aload 4 54: invokevirtual #846 // Method net/minecraft/world/item/ItemStack.m_41613_:()I 57: invokestatic #294 // Method java/lang/Math.min:(II)I 60: istore 5 62: aload 4 64: iload 5 66: invokevirtual #851 // Method net/minecraft/world/item/ItemStack.m_41774_:(I)V 69: iload_2 70: iload 5 72: isub 73: istore_2 74: goto 13 77: return public void registerControllers(software.bernie.geckolib.core.animation.AnimatableManager$ControllerRegistrar); Code: 0: aload_1 1: iconst_1 2: anewarray #14 // class software/bernie/geckolib/core/animation/AnimationController 5: dup 6: iconst_0 7: new #14 // class software/bernie/geckolib/core/animation/AnimationController 10: dup 11: aload_0 12: ldc_w #857 // String nail_gun 15: iconst_0 16: invokedynamic #867, 0 // InvokeDynamic #1:handle:()Lsoftware/bernie/geckolib/core/animation/AnimationController$AnimationStateHandler; 21: invokespecial #870 // Method software/bernie/geckolib/core/animation/AnimationController."":(Lsoftware/bernie/geckolib/core/animatable/GeoAnimatable;Ljava/lang/String;ILsoftware/bernie/geckolib/core/animation/AnimationController$AnimationStateHandler;)V 24: invokedynamic #879, 0 // InvokeDynamic #2:handle:()Lsoftware/bernie/geckolib/core/animation/AnimationController$SoundKeyframeHandler; 29: invokevirtual #883 // Method software/bernie/geckolib/core/animation/AnimationController.setSoundKeyframeHandler:(Lsoftware/bernie/geckolib/core/animation/AnimationController$SoundKeyframeHandler;)Lsoftware/bernie/geckolib/core/animation/AnimationController; 32: aastore 33: invokevirtual #887 // Method software/bernie/geckolib/core/animation/AnimatableManager$ControllerRegistrar.add:([Lsoftware/bernie/geckolib/core/animation/AnimationController;)Lsoftware/bernie/geckolib/core/animation/AnimatableManager$ControllerRegistrar; 36: pop 37: return private static net.minecraft.sounds.SoundEvent nailGunKeyframeSound(java.lang.String); Code: 0: aload_0 1: ifnonnull 6 4: aconst_null 5: areturn 6: aload_0 7: astore_1 8: iconst_m1 9: istore_2 10: aload_1 11: invokevirtual #897 // Method java/lang/String.hashCode:()I 14: lookupswitch { // 6 -1641162943: 87 663556368: 102 663556369: 117 663556370: 132 663556371: 147 1186712812: 72 default: 159 } 72: aload_1 73: ldc_w #899 // String nail_gun_draw 76: invokevirtual #900 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 79: ifeq 159 82: iconst_0 83: istore_2 84: goto 159 87: aload_1 88: ldc_w #902 // String nail_gun_reload 91: invokevirtual #900 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 94: ifeq 159 97: iconst_1 98: istore_2 99: goto 159 102: aload_1 103: ldc_w #904 // String nail_gun_reload1 106: invokevirtual #900 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 109: ifeq 159 112: iconst_2 113: istore_2 114: goto 159 117: aload_1 118: ldc_w #906 // String nail_gun_reload2 121: invokevirtual #900 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 124: ifeq 159 127: iconst_3 128: istore_2 129: goto 159 132: aload_1 133: ldc_w #908 // String nail_gun_reload3 136: invokevirtual #900 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 139: ifeq 159 142: iconst_4 143: istore_2 144: goto 159 147: aload_1 148: ldc_w #910 // String nail_gun_reload4 151: invokevirtual #900 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 154: ifeq 159 157: iconst_5 158: istore_2 159: iload_2 160: tableswitch { // 0 to 5 0: 200 1: 212 2: 224 3: 236 4: 248 5: 260 default: 272 } 200: getstatic #913 // Field com/ogaba/sa_combat/registry/ModSounds.NAIL_GUN_DRAW:Lnet/minecraftforge/registries/RegistryObject; 203: invokevirtual #466 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object; 206: checkcast #468 // class net/minecraft/sounds/SoundEvent 209: goto 273 212: getstatic #916 // Field com/ogaba/sa_combat/registry/ModSounds.NAIL_GUN_RELOAD:Lnet/minecraftforge/registries/RegistryObject; 215: invokevirtual #466 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object; 218: checkcast #468 // class net/minecraft/sounds/SoundEvent 221: goto 273 224: getstatic #919 // Field com/ogaba/sa_combat/registry/ModSounds.NAIL_GUN_RELOAD1:Lnet/minecraftforge/registries/RegistryObject; 227: invokevirtual #466 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object; 230: checkcast #468 // class net/minecraft/sounds/SoundEvent 233: goto 273 236: getstatic #922 // Field com/ogaba/sa_combat/registry/ModSounds.NAIL_GUN_RELOAD2:Lnet/minecraftforge/registries/RegistryObject; 239: invokevirtual #466 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object; 242: checkcast #468 // class net/minecraft/sounds/SoundEvent 245: goto 273 248: getstatic #925 // Field com/ogaba/sa_combat/registry/ModSounds.NAIL_GUN_RELOAD3:Lnet/minecraftforge/registries/RegistryObject; 251: invokevirtual #466 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object; 254: checkcast #468 // class net/minecraft/sounds/SoundEvent 257: goto 273 260: getstatic #928 // Field com/ogaba/sa_combat/registry/ModSounds.NAIL_GUN_RELOAD4:Lnet/minecraftforge/registries/RegistryObject; 263: invokevirtual #466 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object; 266: checkcast #468 // class net/minecraft/sounds/SoundEvent 269: goto 273 272: aconst_null 273: areturn private static boolean isHandRender(net.minecraft.world.item.ItemDisplayContext); Code: 0: aload_0 1: getstatic #937 // Field net/minecraft/world/item/ItemDisplayContext.FIRST_PERSON_LEFT_HAND:Lnet/minecraft/world/item/ItemDisplayContext; 4: if_acmpeq 14 7: aload_0 8: getstatic #940 // Field net/minecraft/world/item/ItemDisplayContext.FIRST_PERSON_RIGHT_HAND:Lnet/minecraft/world/item/ItemDisplayContext; 11: if_acmpne 18 14: iconst_1 15: goto 19 18: iconst_0 19: ireturn private static void lambda$registerControllers$1(software.bernie.geckolib.core.keyframe.event.SoundKeyframeEvent); Code: 0: invokestatic #947 // Method software/bernie/geckolib/util/ClientUtils.getClientPlayer:()Lnet/minecraft/world/entity/player/Player; 3: astore_1 4: aload_1 5: ifnonnull 9 8: return 9: aload_0 10: invokevirtual #953 // Method software/bernie/geckolib/core/keyframe/event/SoundKeyframeEvent.getKeyframeData:()Lsoftware/bernie/geckolib/core/keyframe/event/data/SoundKeyframeData; 13: invokevirtual #959 // Method software/bernie/geckolib/core/keyframe/event/data/SoundKeyframeData.getSound:()Ljava/lang/String; 16: invokestatic #961 // Method nailGunKeyframeSound:(Ljava/lang/String;)Lnet/minecraft/sounds/SoundEvent; 19: astore_2 20: aload_2 21: ifnull 50 24: aload_1 25: invokevirtual #965 // Method net/minecraft/world/entity/player/Player.m_9236_:()Lnet/minecraft/world/level/Level; 28: aload_1 29: invokevirtual #448 // Method net/minecraft/world/entity/player/Player.m_20185_:()D 32: aload_1 33: invokevirtual #451 // Method net/minecraft/world/entity/player/Player.m_20186_:()D 36: aload_1 37: invokevirtual #454 // Method net/minecraft/world/entity/player/Player.m_20189_:()D 40: aload_2 41: getstatic #474 // Field net/minecraft/sounds/SoundSource.PLAYERS:Lnet/minecraft/sounds/SoundSource; 44: fconst_1 45: fconst_1 46: iconst_0 47: invokevirtual #495 // Method net/minecraft/world/level/Level.m_7785_:(DDDLnet/minecraft/sounds/SoundEvent;Lnet/minecraft/sounds/SoundSource;FFZ)V 50: return private static software.bernie.geckolib.core.object.PlayState lambda$registerControllers$0(software.bernie.geckolib.core.animation.AnimationState); Code: 0: aload_0 1: getstatic #975 // Field software/bernie/geckolib/constant/DataTickets.ITEMSTACK:Lsoftware/bernie/geckolib/core/object/DataTicket; 4: invokevirtual #981 // Method software/bernie/geckolib/core/animation/AnimationState.getData:(Lsoftware/bernie/geckolib/core/object/DataTicket;)Ljava/lang/Object; 7: checkcast #171 // class net/minecraft/world/item/ItemStack 10: astore_1 11: aload_1 12: ifnull 22 15: aload_1 16: invokevirtual #175 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 19: ifeq 26 22: getstatic #987 // Field software/bernie/geckolib/core/object/PlayState.STOP:Lsoftware/bernie/geckolib/core/object/PlayState; 25: areturn 26: aload_0 27: getstatic #990 // Field software/bernie/geckolib/constant/DataTickets.ITEM_RENDER_PERSPECTIVE:Lsoftware/bernie/geckolib/core/object/DataTicket; 30: invokevirtual #981 // Method software/bernie/geckolib/core/animation/AnimationState.getData:(Lsoftware/bernie/geckolib/core/object/DataTicket;)Ljava/lang/Object; 33: checkcast #933 // class net/minecraft/world/item/ItemDisplayContext 36: astore_2 37: aload_2 38: invokestatic #992 // Method isHandRender:(Lnet/minecraft/world/item/ItemDisplayContext;)Z 41: istore_3 42: aload_1 43: invokestatic #724 // InterfaceMethod software/bernie/geckolib/animatable/GeoItem.getId:(Lnet/minecraft/world/item/ItemStack;)J 46: lstore 4 48: invokestatic #737 // Method net/minecraft/Util.m_137550_:()J 51: lstore 6 53: iload_3 54: ifne 80 57: aload_0 58: invokevirtual #996 // Method software/bernie/geckolib/core/animation/AnimationState.getController:()Lsoftware/bernie/geckolib/core/animation/AnimationController; 61: dconst_1 62: invokevirtual #1000 // Method software/bernie/geckolib/core/animation/AnimationController.setAnimationSpeed:(D)Lsoftware/bernie/geckolib/core/animation/AnimationController; 65: pop 66: aload_0 67: invokevirtual #996 // Method software/bernie/geckolib/core/animation/AnimationState.getController:()Lsoftware/bernie/geckolib/core/animation/AnimationController; 70: getstatic #1002 // Field ANIM_IDLE:Lsoftware/bernie/geckolib/core/animation/RawAnimation; 73: invokevirtual #1006 // Method software/bernie/geckolib/core/animation/AnimationController.setAnimation:(Lsoftware/bernie/geckolib/core/animation/RawAnimation;)V 76: getstatic #1009 // Field software/bernie/geckolib/core/object/PlayState.CONTINUE:Lsoftware/bernie/geckolib/core/object/PlayState; 79: areturn 80: getstatic #799 // Field CLIENT_LAST_HAND_RENDER:Ljava/util/Map; 83: lload 4 85: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 88: lload 6 90: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 93: invokeinterface #743, 3 // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 98: checkcast #728 // class java/lang/Long 101: astore 8 103: aload 8 105: ifnull 123 108: lload 6 110: aload 8 112: invokevirtual #769 // Method java/lang/Long.longValue:()J 115: lsub 116: ldc2_w #122 // long 700l 119: lcmp 120: ifle 156 123: getstatic #745 // Field CLIENT_DRAW_ANIM_START:Ljava/util/Map; 126: lload 4 128: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 131: lload 6 133: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 136: invokeinterface #743, 3 // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 141: pop 142: getstatic #751 // Field CLIENT_LAST_HANDLED_DRAW:Ljava/util/Map; 145: lload 4 147: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 150: invokeinterface #749, 2 // InterfaceMethod java/util/Map.remove:(Ljava/lang/Object;)Ljava/lang/Object; 155: pop 156: aload_1 157: invokestatic #246 // Method isReloading:(Lnet/minecraft/world/item/ItemStack;)Z 160: istore 9 162: aload_1 163: invokestatic #1011 // Method isClientReloadAnimationActive:(Lnet/minecraft/world/item/ItemStack;)Z 166: istore 10 168: iload 9 170: ifeq 216 173: iload 10 175: ifne 216 178: getstatic #757 // Field CLIENT_LAST_HANDLED_RELOAD:Ljava/util/Map; 181: lload 4 183: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 186: invokeinterface #1014, 2 // InterfaceMethod java/util/Map.containsKey:(Ljava/lang/Object;)Z 191: ifne 216 194: getstatic #755 // Field CLIENT_RELOAD_ANIM_START:Ljava/util/Map; 197: lload 4 199: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 202: lload 6 204: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 207: invokeinterface #1017, 3 // InterfaceMethod java/util/Map.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 212: pop 213: iconst_1 214: istore 10 216: iload 9 218: ifne 226 221: iload 10 223: ifeq 280 226: lload 4 228: getstatic #755 // Field CLIENT_RELOAD_ANIM_START:Ljava/util/Map; 231: getstatic #757 // Field CLIENT_LAST_HANDLED_RELOAD:Ljava/util/Map; 234: aload_0 235: invokevirtual #996 // Method software/bernie/geckolib/core/animation/AnimationState.getController:()Lsoftware/bernie/geckolib/core/animation/AnimationController; 238: invokestatic #1019 // Method resetForNewStart:(JLjava/util/Map;Ljava/util/Map;Lsoftware/bernie/geckolib/core/animation/AnimationController;)V 241: ldc2_w #1020 // double 37.0d 244: iconst_1 245: aload_1 246: invokestatic #313 // Method reloadTicksForStack:(Lnet/minecraft/world/item/ItemStack;)I 249: invokestatic #146 // Method java/lang/Math.max:(II)I 252: i2d 253: ddiv 254: dstore 11 256: aload_0 257: invokevirtual #996 // Method software/bernie/geckolib/core/animation/AnimationState.getController:()Lsoftware/bernie/geckolib/core/animation/AnimationController; 260: dload 11 262: invokevirtual #1000 // Method software/bernie/geckolib/core/animation/AnimationController.setAnimationSpeed:(D)Lsoftware/bernie/geckolib/core/animation/AnimationController; 265: pop 266: aload_0 267: invokevirtual #996 // Method software/bernie/geckolib/core/animation/AnimationState.getController:()Lsoftware/bernie/geckolib/core/animation/AnimationController; 270: getstatic #1023 // Field ANIM_RELOAD:Lsoftware/bernie/geckolib/core/animation/RawAnimation; 273: invokevirtual #1006 // Method software/bernie/geckolib/core/animation/AnimationController.setAnimation:(Lsoftware/bernie/geckolib/core/animation/RawAnimation;)V 276: getstatic #1009 // Field software/bernie/geckolib/core/object/PlayState.CONTINUE:Lsoftware/bernie/geckolib/core/object/PlayState; 279: areturn 280: aload_1 281: invokestatic #1025 // Method isShootAnimationActive:(Lnet/minecraft/world/item/ItemStack;)Z 284: ifeq 377 287: getstatic #726 // Field CLIENT_SHOOT_ANIM_START:Ljava/util/Map; 290: lload 4 292: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 295: invokeinterface #762, 2 // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object; 300: checkcast #728 // class java/lang/Long 303: astore 11 305: aload 11 307: ifnull 354 310: aload 11 312: getstatic #759 // Field CLIENT_LAST_HANDLED_SHOT:Ljava/util/Map; 315: lload 4 317: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 320: invokeinterface #762, 2 // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object; 325: invokevirtual #781 // Method java/lang/Long.equals:(Ljava/lang/Object;)Z 328: ifne 354 331: aload_0 332: invokevirtual #996 // Method software/bernie/geckolib/core/animation/AnimationState.getController:()Lsoftware/bernie/geckolib/core/animation/AnimationController; 335: invokevirtual #785 // Method software/bernie/geckolib/core/animation/AnimationController.forceAnimationReset:()V 338: getstatic #759 // Field CLIENT_LAST_HANDLED_SHOT:Ljava/util/Map; 341: lload 4 343: invokestatic #732 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long; 346: aload 11 348: invokeinterface #743, 3 // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 353: pop 354: aload_0 355: invokevirtual #996 // Method software/bernie/geckolib/core/animation/AnimationState.getController:()Lsoftware/bernie/geckolib/core/animation/AnimationController; 358: dconst_1 359: invokevirtual #1000 // Method software/bernie/geckolib/core/animation/AnimationController.setAnimationSpeed:(D)Lsoftware/bernie/geckolib/core/animation/AnimationController; 362: pop 363: aload_0 364: invokevirtual #996 // Method software/bernie/geckolib/core/animation/AnimationState.getController:()Lsoftware/bernie/geckolib/core/animation/AnimationController; 367: getstatic #1027 // Field ANIM_SHOOT:Lsoftware/bernie/geckolib/core/animation/RawAnimation; 370: invokevirtual #1006 // Method software/bernie/geckolib/core/animation/AnimationController.setAnimation:(Lsoftware/bernie/geckolib/core/animation/RawAnimation;)V 373: getstatic #1009 // Field software/bernie/geckolib/core/object/PlayState.CONTINUE:Lsoftware/bernie/geckolib/core/object/PlayState; 376: areturn 377: aload_1 378: lload 6 380: invokestatic #1029 // Method isDrawAnimationActive:(Lnet/minecraft/world/item/ItemStack;J)Z 383: ifeq 424 386: lload 4 388: getstatic #745 // Field CLIENT_DRAW_ANIM_START:Ljava/util/Map; 391: getstatic #751 // Field CLIENT_LAST_HANDLED_DRAW:Ljava/util/Map; 394: aload_0 395: invokevirtual #996 // Method software/bernie/geckolib/core/animation/AnimationState.getController:()Lsoftware/bernie/geckolib/core/animation/AnimationController; 398: invokestatic #1019 // Method resetForNewStart:(JLjava/util/Map;Ljava/util/Map;Lsoftware/bernie/geckolib/core/animation/AnimationController;)V 401: aload_0 402: invokevirtual #996 // Method software/bernie/geckolib/core/animation/AnimationState.getController:()Lsoftware/bernie/geckolib/core/animation/AnimationController; 405: dconst_1 406: invokevirtual #1000 // Method software/bernie/geckolib/core/animation/AnimationController.setAnimationSpeed:(D)Lsoftware/bernie/geckolib/core/animation/AnimationController; 409: pop 410: aload_0 411: invokevirtual #996 // Method software/bernie/geckolib/core/animation/AnimationState.getController:()Lsoftware/bernie/geckolib/core/animation/AnimationController; 414: getstatic #1031 // Field ANIM_DRAW:Lsoftware/bernie/geckolib/core/animation/RawAnimation; 417: invokevirtual #1006 // Method software/bernie/geckolib/core/animation/AnimationController.setAnimation:(Lsoftware/bernie/geckolib/core/animation/RawAnimation;)V 420: getstatic #1009 // Field software/bernie/geckolib/core/object/PlayState.CONTINUE:Lsoftware/bernie/geckolib/core/object/PlayState; 423: areturn 424: aload_0 425: invokevirtual #996 // Method software/bernie/geckolib/core/animation/AnimationState.getController:()Lsoftware/bernie/geckolib/core/animation/AnimationController; 428: dconst_1 429: invokevirtual #1000 // Method software/bernie/geckolib/core/animation/AnimationController.setAnimationSpeed:(D)Lsoftware/bernie/geckolib/core/animation/AnimationController; 432: pop 433: aload_0 434: invokevirtual #996 // Method software/bernie/geckolib/core/animation/AnimationState.getController:()Lsoftware/bernie/geckolib/core/animation/AnimationController; 437: getstatic #1002 // Field ANIM_IDLE:Lsoftware/bernie/geckolib/core/animation/RawAnimation; 440: invokevirtual #1006 // Method software/bernie/geckolib/core/animation/AnimationController.setAnimation:(Lsoftware/bernie/geckolib/core/animation/RawAnimation;)V 443: getstatic #1009 // Field software/bernie/geckolib/core/object/PlayState.CONTINUE:Lsoftware/bernie/geckolib/core/object/PlayState; 446: areturn static {}; Code: 0: new #816 // class net/minecraft/resources/ResourceLocation 3: dup 4: ldc_w #1044 // String sa_core 7: ldc_w #1046 // String nails 10: invokespecial #1049 // Method net/minecraft/resources/ResourceLocation."":(Ljava/lang/String;Ljava/lang/String;)V 13: putstatic #814 // Field NAIL_ITEM_ID:Lnet/minecraft/resources/ResourceLocation; 16: invokestatic #1055 // Method software/bernie/geckolib/core/animation/RawAnimation.begin:()Lsoftware/bernie/geckolib/core/animation/RawAnimation; 19: ldc_w #1057 // String idle 22: invokevirtual #1061 // Method software/bernie/geckolib/core/animation/RawAnimation.thenLoop:(Ljava/lang/String;)Lsoftware/bernie/geckolib/core/animation/RawAnimation; 25: putstatic #1002 // Field ANIM_IDLE:Lsoftware/bernie/geckolib/core/animation/RawAnimation; 28: invokestatic #1055 // Method software/bernie/geckolib/core/animation/RawAnimation.begin:()Lsoftware/bernie/geckolib/core/animation/RawAnimation; 31: ldc_w #1063 // String draw 34: invokevirtual #1066 // Method software/bernie/geckolib/core/animation/RawAnimation.thenPlayAndHold:(Ljava/lang/String;)Lsoftware/bernie/geckolib/core/animation/RawAnimation; 37: putstatic #1031 // Field ANIM_DRAW:Lsoftware/bernie/geckolib/core/animation/RawAnimation; 40: invokestatic #1055 // Method software/bernie/geckolib/core/animation/RawAnimation.begin:()Lsoftware/bernie/geckolib/core/animation/RawAnimation; 43: ldc_w #1068 // String shoot_normal 46: invokevirtual #1066 // Method software/bernie/geckolib/core/animation/RawAnimation.thenPlayAndHold:(Ljava/lang/String;)Lsoftware/bernie/geckolib/core/animation/RawAnimation; 49: putstatic #1027 // Field ANIM_SHOOT:Lsoftware/bernie/geckolib/core/animation/RawAnimation; 52: invokestatic #1055 // Method software/bernie/geckolib/core/animation/RawAnimation.begin:()Lsoftware/bernie/geckolib/core/animation/RawAnimation; 55: ldc_w #1070 // String reload 58: invokevirtual #1066 // Method software/bernie/geckolib/core/animation/RawAnimation.thenPlayAndHold:(Ljava/lang/String;)Lsoftware/bernie/geckolib/core/animation/RawAnimation; 61: putstatic #1023 // Field ANIM_RELOAD:Lsoftware/bernie/geckolib/core/animation/RawAnimation; 64: new #1072 // class java/util/concurrent/ConcurrentHashMap 67: dup 68: invokespecial #1074 // Method java/util/concurrent/ConcurrentHashMap."":()V 71: putstatic #726 // Field CLIENT_SHOOT_ANIM_START:Ljava/util/Map; 74: new #1072 // class java/util/concurrent/ConcurrentHashMap 77: dup 78: invokespecial #1074 // Method java/util/concurrent/ConcurrentHashMap."":()V 81: putstatic #759 // Field CLIENT_LAST_HANDLED_SHOT:Ljava/util/Map; 84: new #1072 // class java/util/concurrent/ConcurrentHashMap 87: dup 88: invokespecial #1074 // Method java/util/concurrent/ConcurrentHashMap."":()V 91: putstatic #799 // Field CLIENT_LAST_HAND_RENDER:Ljava/util/Map; 94: new #1072 // class java/util/concurrent/ConcurrentHashMap 97: dup 98: invokespecial #1074 // Method java/util/concurrent/ConcurrentHashMap."":()V 101: putstatic #745 // Field CLIENT_DRAW_ANIM_START:Ljava/util/Map; 104: new #1072 // class java/util/concurrent/ConcurrentHashMap 107: dup 108: invokespecial #1074 // Method java/util/concurrent/ConcurrentHashMap."":()V 111: putstatic #751 // Field CLIENT_LAST_HANDLED_DRAW:Ljava/util/Map; 114: new #1072 // class java/util/concurrent/ConcurrentHashMap 117: dup 118: invokespecial #1074 // Method java/util/concurrent/ConcurrentHashMap."":()V 121: putstatic #755 // Field CLIENT_RELOAD_ANIM_START:Ljava/util/Map; 124: new #1072 // class java/util/concurrent/ConcurrentHashMap 127: dup 128: invokespecial #1074 // Method java/util/concurrent/ConcurrentHashMap."":()V 131: putstatic #757 // Field CLIENT_LAST_HANDLED_RELOAD:Ljava/util/Map; 134: return } ==================== com.ogaba.sa_combat.network.packet.FireNailGunC2SPacket ==================== Compiled from "FireNailGunC2SPacket.java" public class com.ogaba.sa_combat.network.packet.FireNailGunC2SPacket { private final net.minecraft.world.InteractionHand hand; private final float aimProgress; public com.ogaba.sa_combat.network.packet.FireNailGunC2SPacket(net.minecraft.world.InteractionHand); Code: 0: aload_0 1: aload_1 2: fconst_0 3: invokespecial #24 // Method "":(Lnet/minecraft/world/InteractionHand;F)V 6: return public com.ogaba.sa_combat.network.packet.FireNailGunC2SPacket(net.minecraft.world.InteractionHand, float); Code: 0: aload_0 1: invokespecial #29 // Method java/lang/Object."":()V 4: aload_0 5: aload_1 6: putfield #31 // Field hand:Lnet/minecraft/world/InteractionHand; 9: aload_0 10: fload_2 11: putfield #33 // Field aimProgress:F 14: return public static void encode(com.ogaba.sa_combat.network.packet.FireNailGunC2SPacket, net.minecraft.network.FriendlyByteBuf); Code: 0: aload_1 1: aload_0 2: getfield #31 // Field hand:Lnet/minecraft/world/InteractionHand; 5: invokevirtual #41 // Method net/minecraft/network/FriendlyByteBuf.m_130068_:(Ljava/lang/Enum;)Lnet/minecraft/network/FriendlyByteBuf; 8: pop 9: aload_1 10: aload_0 11: getfield #33 // Field aimProgress:F 14: invokevirtual #45 // Method net/minecraft/network/FriendlyByteBuf.writeFloat:(F)Lio/netty/buffer/ByteBuf; 17: pop 18: return public static com.ogaba.sa_combat.network.packet.FireNailGunC2SPacket decode(net.minecraft.network.FriendlyByteBuf); Code: 0: new #2 // class com/ogaba/sa_combat/network/packet/FireNailGunC2SPacket 3: dup 4: aload_0 5: ldc #52 // class net/minecraft/world/InteractionHand 7: invokevirtual #56 // Method net/minecraft/network/FriendlyByteBuf.m_130066_:(Ljava/lang/Class;)Ljava/lang/Enum; 10: checkcast #52 // class net/minecraft/world/InteractionHand 13: aload_0 14: invokevirtual #60 // Method net/minecraft/network/FriendlyByteBuf.readFloat:()F 17: invokespecial #24 // Method "":(Lnet/minecraft/world/InteractionHand;F)V 20: areturn public static void handle(com.ogaba.sa_combat.network.packet.FireNailGunC2SPacket, java.util.function.Supplier); Code: 0: aload_1 1: invokeinterface #69, 1 // InterfaceMethod java/util/function/Supplier.get:()Ljava/lang/Object; 6: checkcast #7 // class net/minecraftforge/network/NetworkEvent$Context 9: astore_2 10: aload_2 11: aload_2 12: aload_0 13: invokedynamic #86, 0 // InvokeDynamic #0:run:(Lnet/minecraftforge/network/NetworkEvent$Context;Lcom/ogaba/sa_combat/network/packet/FireNailGunC2SPacket;)Ljava/lang/Runnable; 18: invokevirtual #90 // Method net/minecraftforge/network/NetworkEvent$Context.enqueueWork:(Ljava/lang/Runnable;)Ljava/util/concurrent/CompletableFuture; 21: pop 22: aload_2 23: iconst_1 24: invokevirtual #94 // Method net/minecraftforge/network/NetworkEvent$Context.setPacketHandled:(Z)V 27: return private static void lambda$handle$0(net.minecraftforge.network.NetworkEvent$Context, com.ogaba.sa_combat.network.packet.FireNailGunC2SPacket); Code: 0: aload_0 1: invokevirtual #103 // Method net/minecraftforge/network/NetworkEvent$Context.getSender:()Lnet/minecraft/server/level/ServerPlayer; 4: astore_2 5: aload_2 6: ifnonnull 10 9: return 10: aload_1 11: getfield #31 // Field hand:Lnet/minecraft/world/InteractionHand; 14: getstatic #108 // Field net/minecraft/world/InteractionHand.MAIN_HAND:Lnet/minecraft/world/InteractionHand; 17: if_acmpeq 21 20: return 21: aload_2 22: aload_1 23: getfield #31 // Field hand:Lnet/minecraft/world/InteractionHand; 26: invokevirtual #112 // Method net/minecraft/server/level/ServerPlayer.m_21120_:(Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/item/ItemStack; 29: astore_3 30: aload_3 31: invokevirtual #118 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item; 34: astore 5 36: aload 5 38: instanceof #120 // class com/ogaba/sa_combat/combat/weapon/NailGunItem 41: ifeq 54 44: aload 5 46: checkcast #120 // class com/ogaba/sa_combat/combat/weapon/NailGunItem 49: astore 4 51: goto 55 54: return 55: aload_3 56: invokestatic #124 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.isReloading:(Lnet/minecraft/world/item/ItemStack;)Z 59: ifne 76 62: aload_2 63: invokevirtual #128 // Method net/minecraft/server/level/ServerPlayer.m_20142_:()Z 66: ifne 76 69: aload_3 70: invokestatic #132 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.getMagazine:(Lnet/minecraft/world/item/ItemStack;)I 73: ifgt 77 76: return 77: aload_2 78: invokevirtual #136 // Method net/minecraft/server/level/ServerPlayer.m_36335_:()Lnet/minecraft/world/item/ItemCooldowns; 81: aload 4 83: invokevirtual #142 // Method net/minecraft/world/item/ItemCooldowns.m_41519_:(Lnet/minecraft/world/item/Item;)Z 86: ifne 103 89: aload_3 90: aload_2 91: invokevirtual #146 // Method net/minecraft/server/level/ServerPlayer.m_9236_:()Lnet/minecraft/world/level/Level; 94: invokevirtual #152 // Method net/minecraft/world/level/Level.m_46467_:()J 97: invokestatic #156 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.consumeServerFirePermit:(Lnet/minecraft/world/item/ItemStack;J)Z 100: ifne 104 103: return 104: aload 4 106: aload_2 107: invokevirtual #146 // Method net/minecraft/server/level/ServerPlayer.m_9236_:()Lnet/minecraft/world/level/Level; 110: aload_2 111: aload_3 112: aload_1 113: getfield #31 // Field hand:Lnet/minecraft/world/InteractionHand; 116: aload_1 117: getfield #33 // Field aimProgress:F 120: invokevirtual #160 // 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;F)V 123: aload_2 124: invokevirtual #136 // Method net/minecraft/server/level/ServerPlayer.m_36335_:()Lnet/minecraft/world/item/ItemCooldowns; 127: aload 4 129: iconst_1 130: invokevirtual #164 // Method net/minecraft/world/item/ItemCooldowns.m_41524_:(Lnet/minecraft/world/item/Item;I)V 133: return }