Files
xczjhk/统计/_sa_hanhua_out/_tmp/javap_reload.txt
T
2026-10-09 18:08:05 +08:00

6340 lines
317 KiB
Plaintext

==================== 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."<init>":()V
4: return
public static void onRenderHand(net.minecraftforge.client.event.RenderHandEvent);
Code:
0: invokestatic #144 // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft;
3: astore_1
4: aload_1
5: getfield #148 // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
8: astore_2
9: aload_2
10: ifnonnull 14
13: return
14: aload_2
15: invokevirtual #154 // Method net/minecraft/world/entity/player/Player.m_21205_:()Lnet/minecraft/world/item/ItemStack;
18: astore_3
19: aload_2
20: invokevirtual #157 // Method net/minecraft/world/entity/player/Player.m_21206_:()Lnet/minecraft/world/item/ItemStack;
23: astore 4
25: aload_3
26: invokevirtual #163 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
29: instanceof #165 // class com/ogaba/sa_combat/item/SpecialGrenadeItem
32: istore 5
34: aload 4
36: invokevirtual #163 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
39: instanceof #165 // class com/ogaba/sa_combat/item/SpecialGrenadeItem
42: istore 6
44: aload_3
45: invokevirtual #163 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
48: instanceof #167 // class com/ogaba/sa_combat/combat/weapon/NailGunItem
51: istore 7
53: aload 4
55: invokevirtual #163 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
58: instanceof #167 // class com/ogaba/sa_combat/combat/weapon/NailGunItem
61: istore 8
63: iload 5
65: ifne 84
68: iload 6
70: ifne 84
73: iload 7
75: ifne 84
78: iload 8
80: ifne 84
83: return
84: aload_0
85: invokevirtual #173 // Method net/minecraftforge/client/event/RenderHandEvent.getHand:()Lnet/minecraft/world/InteractionHand;
88: getstatic #179 // Field net/minecraft/world/InteractionHand.MAIN_HAND:Lnet/minecraft/world/InteractionHand;
91: if_acmpne 128
94: iload 5
96: ifeq 109
99: aload_0
100: aload_2
101: ldc #180 // float 0.35f
103: invokestatic #184 // Method applyRetainedVanillaViewBob:(Lnet/minecraftforge/client/event/RenderHandEvent;Lnet/minecraft/world/entity/player/Player;F)V
106: goto 128
109: iload 7
111: ifeq 128
114: fconst_1
115: invokestatic #190 // Method com/ogaba/sa_combat/client/render/NailGunAimClient.getProgress:()F
118: fsub
119: fstore 9
121: aload_0
122: aload_2
123: fload 9
125: invokestatic #184 // Method applyRetainedVanillaViewBob:(Lnet/minecraftforge/client/event/RenderHandEvent;Lnet/minecraft/world/entity/player/Player;F)V
128: aload_0
129: invokevirtual #173 // Method net/minecraftforge/client/event/RenderHandEvent.getHand:()Lnet/minecraft/world/InteractionHand;
132: getstatic #193 // Field net/minecraft/world/InteractionHand.OFF_HAND:Lnet/minecraft/world/InteractionHand;
135: if_acmpne 143
138: aload_0
139: iconst_1
140: invokevirtual #197 // Method net/minecraftforge/client/event/RenderHandEvent.setCanceled:(Z)V
143: return
private static void applyRetainedVanillaViewBob(net.minecraftforge.client.event.RenderHandEvent, net.minecraft.world.entity.player.Player, float);
Code:
0: invokestatic #144 // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft;
3: astore_3
4: aload_3
5: getfield #214 // Field net/minecraft/client/Minecraft.f_91066_:Lnet/minecraft/client/Options;
8: invokevirtual #220 // Method net/minecraft/client/Options.m_231830_:()Lnet/minecraft/client/OptionInstance;
11: invokevirtual #226 // Method net/minecraft/client/OptionInstance.m_231551_:()Ljava/lang/Object;
14: checkcast #228 // class java/lang/Boolean
17: invokevirtual #232 // Method java/lang/Boolean.booleanValue:()Z
20: ifne 24
23: return
24: fload_2
25: fconst_0
26: fconst_1
27: invokestatic #238 // Method net/minecraft/util/Mth.m_14036_:(FFF)F
30: fstore_2
31: aload_0
32: invokevirtual #241 // Method net/minecraftforge/client/event/RenderHandEvent.getPartialTick:()F
35: fstore 4
37: aload_1
38: getfield #244 // Field net/minecraft/world/entity/player/Player.f_19787_:F
41: aload_1
42: getfield #247 // Field net/minecraft/world/entity/player/Player.f_19867_:F
45: fsub
46: fstore 5
48: aload_1
49: getfield #244 // Field net/minecraft/world/entity/player/Player.f_19787_:F
52: fload 5
54: fload 4
56: fmul
57: fadd
58: fneg
59: fstore 6
61: fload 4
63: aload_1
64: getfield #250 // Field net/minecraft/world/entity/player/Player.f_36099_:F
67: aload_1
68: getfield #253 // Field net/minecraft/world/entity/player/Player.f_36100_:F
71: invokestatic #256 // Method net/minecraft/util/Mth.m_14179_:(FFF)F
74: fstore 7
76: fload 6
78: ldc_w #257 // float 3.1415927f
81: fmul
82: invokestatic #261 // Method net/minecraft/util/Mth.m_14031_:(F)F
85: fload 7
87: fmul
88: ldc_w #262 // float 0.5f
91: fmul
92: fstore 8
94: fload 6
96: ldc_w #257 // float 3.1415927f
99: fmul
100: invokestatic #265 // Method net/minecraft/util/Mth.m_14089_:(F)F
103: fload 7
105: fmul
106: invokestatic #270 // Method java/lang/Math.abs:(F)F
109: fneg
110: fstore 9
112: fload 6
114: ldc_w #257 // float 3.1415927f
117: fmul
118: invokestatic #261 // Method net/minecraft/util/Mth.m_14031_:(F)F
121: fload 7
123: fmul
124: ldc_w #271 // float 3.0f
127: fmul
128: fstore 10
130: fload 6
132: ldc_w #257 // float 3.1415927f
135: fmul
136: ldc_w #272 // float 0.2f
139: fsub
140: invokestatic #265 // Method net/minecraft/util/Mth.m_14089_:(F)F
143: fload 7
145: fmul
146: invokestatic #270 // Method java/lang/Math.abs:(F)F
149: ldc_w #273 // float 5.0f
152: fmul
153: fstore 11
155: aload_0
156: invokevirtual #277 // Method net/minecraftforge/client/event/RenderHandEvent.getPoseStack:()Lcom/mojang/blaze3d/vertex/PoseStack;
159: astore 12
161: aload 12
163: getstatic #283 // Field com/mojang/math/Axis.f_252529_:Lcom/mojang/math/Axis;
166: fload 11
168: fneg
169: invokeinterface #287, 2 // InterfaceMethod com/mojang/math/Axis.m_252977_:(F)Lorg/joml/Quaternionf;
174: invokevirtual #293 // Method com/mojang/blaze3d/vertex/PoseStack.m_252781_:(Lorg/joml/Quaternionf;)V
177: aload 12
179: getstatic #296 // Field com/mojang/math/Axis.f_252403_:Lcom/mojang/math/Axis;
182: fload 10
184: fneg
185: invokeinterface #287, 2 // InterfaceMethod com/mojang/math/Axis.m_252977_:(F)Lorg/joml/Quaternionf;
190: invokevirtual #293 // Method com/mojang/blaze3d/vertex/PoseStack.m_252781_:(Lorg/joml/Quaternionf;)V
193: aload 12
195: fload 8
197: fneg
198: f2d
199: fload 9
201: fneg
202: f2d
203: dconst_0
204: invokevirtual #300 // Method com/mojang/blaze3d/vertex/PoseStack.m_85837_:(DDD)V
207: aload 12
209: fload 8
211: fload_2
212: fmul
213: f2d
214: fload 9
216: fload_2
217: fmul
218: f2d
219: dconst_0
220: invokevirtual #300 // Method com/mojang/blaze3d/vertex/PoseStack.m_85837_:(DDD)V
223: aload 12
225: getstatic #296 // Field com/mojang/math/Axis.f_252403_:Lcom/mojang/math/Axis;
228: fload 10
230: fload_2
231: fmul
232: invokeinterface #287, 2 // InterfaceMethod com/mojang/math/Axis.m_252977_:(F)Lorg/joml/Quaternionf;
237: invokevirtual #293 // Method com/mojang/blaze3d/vertex/PoseStack.m_252781_:(Lorg/joml/Quaternionf;)V
240: aload 12
242: getstatic #283 // Field com/mojang/math/Axis.f_252529_:Lcom/mojang/math/Axis;
245: fload 11
247: fload_2
248: fmul
249: invokeinterface #287, 2 // InterfaceMethod com/mojang/math/Axis.m_252977_:(F)Lorg/joml/Quaternionf;
254: invokevirtual #293 // Method com/mojang/blaze3d/vertex/PoseStack.m_252781_:(Lorg/joml/Quaternionf;)V
257: return
public static void onClientTick(net.minecraftforge.event.TickEvent$ClientTickEvent);
Code:
0: aload_0
1: getfield #317 // Field net/minecraftforge/event/TickEvent$ClientTickEvent.phase:Lnet/minecraftforge/event/TickEvent$Phase;
4: getstatic #320 // Field net/minecraftforge/event/TickEvent$Phase.END:Lnet/minecraftforge/event/TickEvent$Phase;
7: if_acmpne 28
10: invokestatic #325 // Method com/ogaba/sa_combat/client/sound/ChainsawSoundManager.tick:()V
13: invokestatic #326 // Method com/ogaba/sa_combat/client/render/NailGunAimClient.tick:()V
16: invokestatic #329 // Method tickNailGunThirdPersonSounds:()V
19: invokestatic #332 // Method tickNailGunTrigger:()V
22: invokestatic #335 // Method tickNailGunReloadKey:()V
25: invokestatic #338 // Method tickCrossbowAmmoCycle:()V
28: return
public static void onRenderPlayerPre(net.minecraftforge.client.event.RenderPlayerEvent$Pre);
Code:
0: invokestatic #144 // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft;
3: getfield #148 // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
6: astore_1
7: aload_1
8: ifnull 19
11: aload_0
12: invokevirtual #345 // Method net/minecraftforge/client/event/RenderPlayerEvent$Pre.getEntity:()Lnet/minecraft/world/entity/player/Player;
15: aload_1
16: if_acmpeq 20
19: return
20: aload_1
21: invokevirtual #348 // Method net/minecraft/client/player/AbstractClientPlayer.m_21205_:()Lnet/minecraft/world/item/ItemStack;
24: astore_2
25: aload_2
26: invokevirtual #163 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
29: instanceof #167 // class com/ogaba/sa_combat/combat/weapon/NailGunItem
32: ifne 36
35: return
36: invokestatic #190 // Method com/ogaba/sa_combat/client/render/NailGunAimClient.getProgress:()F
39: ldc_w #349 // float 0.01f
42: fcmpl
43: ifgt 53
46: aload_1
47: invokevirtual #352 // Method net/minecraft/client/player/AbstractClientPlayer.m_6117_:()Z
50: ifeq 57
53: iconst_1
54: goto 58
57: iconst_0
58: istore_3
59: iload_3
60: ifne 64
63: return
64: aload_0
65: invokevirtual #356 // Method net/minecraftforge/client/event/RenderPlayerEvent$Pre.getRenderer:()Lnet/minecraft/client/renderer/entity/player/PlayerRenderer;
68: invokevirtual #362 // Method net/minecraft/client/renderer/entity/player/PlayerRenderer.m_7200_:()Lnet/minecraft/client/model/EntityModel;
71: checkcast #364 // class net/minecraft/client/model/PlayerModel
74: astore 4
76: aload_1
77: invokevirtual #368 // Method net/minecraft/client/player/AbstractClientPlayer.m_5737_:()Lnet/minecraft/world/entity/HumanoidArm;
80: astore 5
82: aload 5
84: getstatic #374 // Field net/minecraft/world/entity/HumanoidArm.RIGHT:Lnet/minecraft/world/entity/HumanoidArm;
87: if_acmpne 109
90: aload 4
92: getstatic #380 // Field com/ogaba/sa_combat/client/SACombatArmPoses.NAIL_GUN_AIM:Lnet/minecraft/client/model/HumanoidModel$ArmPose;
95: putfield #383 // Field net/minecraft/client/model/PlayerModel.f_102816_:Lnet/minecraft/client/model/HumanoidModel$ArmPose;
98: aload 4
100: getstatic #386 // Field net/minecraft/client/model/HumanoidModel$ArmPose.ITEM:Lnet/minecraft/client/model/HumanoidModel$ArmPose;
103: putfield #389 // Field net/minecraft/client/model/PlayerModel.f_102815_:Lnet/minecraft/client/model/HumanoidModel$ArmPose;
106: goto 125
109: aload 4
111: getstatic #380 // Field com/ogaba/sa_combat/client/SACombatArmPoses.NAIL_GUN_AIM:Lnet/minecraft/client/model/HumanoidModel$ArmPose;
114: putfield #389 // Field net/minecraft/client/model/PlayerModel.f_102815_:Lnet/minecraft/client/model/HumanoidModel$ArmPose;
117: aload 4
119: getstatic #386 // Field net/minecraft/client/model/HumanoidModel$ArmPose.ITEM:Lnet/minecraft/client/model/HumanoidModel$ArmPose;
122: putfield #383 // Field net/minecraft/client/model/PlayerModel.f_102816_:Lnet/minecraft/client/model/HumanoidModel$ArmPose;
125: return
public static void onNailGunAimMovement(net.minecraftforge.client.event.MovementInputUpdateEvent);
Code:
0: aload_0
1: invokevirtual #403 // Method net/minecraftforge/client/event/MovementInputUpdateEvent.getEntity:()Lnet/minecraft/world/entity/player/Player;
4: astore_1
5: aload_1
6: invokevirtual #154 // Method net/minecraft/world/entity/player/Player.m_21205_:()Lnet/minecraft/world/item/ItemStack;
9: invokevirtual #163 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
12: instanceof #167 // class com/ogaba/sa_combat/combat/weapon/NailGunItem
15: ifne 19
18: return
19: invokestatic #190 // Method com/ogaba/sa_combat/client/render/NailGunAimClient.getProgress:()F
22: fstore_2
23: fload_2
24: ldc_w #349 // float 0.01f
27: fcmpg
28: ifgt 32
31: return
32: invokestatic #406 // Method com/ogaba/sa_combat/client/render/NailGunAimClient.getMovementMultiplier:()F
35: fstore_3
36: aload_0
37: invokevirtual #410 // Method net/minecraftforge/client/event/MovementInputUpdateEvent.getInput:()Lnet/minecraft/client/player/Input;
40: dup
41: getfield #415 // Field net/minecraft/client/player/Input.f_108566_:F
44: fload_3
45: fmul
46: putfield #415 // Field net/minecraft/client/player/Input.f_108566_:F
49: aload_0
50: invokevirtual #410 // Method net/minecraftforge/client/event/MovementInputUpdateEvent.getInput:()Lnet/minecraft/client/player/Input;
53: dup
54: getfield #418 // Field net/minecraft/client/player/Input.f_108567_:F
57: fload_3
58: fmul
59: putfield #418 // Field net/minecraft/client/player/Input.f_108567_:F
62: fload_2
63: ldc_w #419 // float 0.05f
66: fcmpl
67: ifle 82
70: aload_1
71: invokevirtual #422 // Method net/minecraft/world/entity/player/Player.m_20142_:()Z
74: ifeq 82
77: aload_1
78: iconst_0
79: invokevirtual #425 // Method net/minecraft/world/entity/player/Player.m_6858_:(Z)V
82: return
private static void tickCrossbowAmmoCycle();
Code:
0: invokestatic #144 // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft;
3: astore_0
4: aload_0
5: getfield #148 // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
8: astore_1
9: aload_1
10: ifnull 20
13: aload_0
14: getfield #432 // Field net/minecraft/client/Minecraft.f_91080_:Lnet/minecraft/client/gui/screens/Screen;
17: ifnull 25
20: iconst_0
21: putstatic #434 // Field crossbowCycleWasDown:Z
24: return
25: aload_1
26: invokevirtual #154 // Method net/minecraft/world/entity/player/Player.m_21205_:()Lnet/minecraft/world/item/ItemStack;
29: invokevirtual #163 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
32: instanceof #46 // class com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem
35: ifne 51
38: aload_1
39: invokevirtual #157 // Method net/minecraft/world/entity/player/Player.m_21206_:()Lnet/minecraft/world/item/ItemStack;
42: invokevirtual #163 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
45: instanceof #46 // class com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem
48: ifeq 55
51: iconst_1
52: goto 56
55: iconst_0
56: istore_2
57: iload_2
58: ifne 66
61: iconst_0
62: putstatic #434 // Field crossbowCycleWasDown:Z
65: return
66: aload_0
67: getfield #214 // Field net/minecraft/client/Minecraft.f_91066_:Lnet/minecraft/client/Options;
70: getfield #438 // Field net/minecraft/client/Options.f_92096_:Lnet/minecraft/client/KeyMapping;
73: invokevirtual #443 // Method net/minecraft/client/KeyMapping.m_90857_:()Z
76: ifeq 90
79: aload_1
80: invokevirtual #446 // Method net/minecraft/world/entity/player/Player.m_6144_:()Z
83: ifeq 90
86: iconst_1
87: goto 91
90: iconst_0
91: istore_3
92: getstatic #434 // Field crossbowCycleWasDown:Z
95: istore 4
97: iload_3
98: putstatic #434 // Field crossbowCycleWasDown:Z
101: iload_3
102: ifeq 123
105: iload 4
107: ifne 123
110: getstatic #452 // Field com/ogaba/sa_combat/network/ModMessages.INSTANCE:Lnet/minecraftforge/network/simple/SimpleChannel;
113: new #454 // class com/ogaba/sa_combat/network/packet/CycleBoltTypeC2SPacket
116: dup
117: invokespecial #455 // Method com/ogaba/sa_combat/network/packet/CycleBoltTypeC2SPacket."<init>":()V
120: invokevirtual #461 // Method net/minecraftforge/network/simple/SimpleChannel.sendToServer:(Ljava/lang/Object;)V
123: return
public static void onNailGunInteractionKey(net.minecraftforge.client.event.InputEvent$InteractionKeyMappingTriggered);
Code:
0: invokestatic #144 // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft;
3: astore_1
4: aload_1
5: getfield #148 // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
8: astore_2
9: aload_2
10: ifnull 33
13: aload_1
14: getfield #432 // Field net/minecraft/client/Minecraft.f_91080_:Lnet/minecraft/client/gui/screens/Screen;
17: ifnonnull 33
20: aload_2
21: invokevirtual #154 // Method net/minecraft/world/entity/player/Player.m_21205_:()Lnet/minecraft/world/item/ItemStack;
24: invokevirtual #163 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
27: instanceof #167 // class com/ogaba/sa_combat/combat/weapon/NailGunItem
30: ifne 34
33: return
34: aload_0
35: invokevirtual #472 // Method net/minecraftforge/client/event/InputEvent$InteractionKeyMappingTriggered.isAttack:()Z
38: ifne 48
41: aload_0
42: invokevirtual #475 // Method net/minecraftforge/client/event/InputEvent$InteractionKeyMappingTriggered.isUseItem:()Z
45: ifeq 58
48: aload_0
49: iconst_0
50: invokevirtual #478 // Method net/minecraftforge/client/event/InputEvent$InteractionKeyMappingTriggered.setSwingHand:(Z)V
53: aload_0
54: iconst_1
55: invokevirtual #479 // Method net/minecraftforge/client/event/InputEvent$InteractionKeyMappingTriggered.setCanceled:(Z)V
58: return
private static void tickNailGunThirdPersonSounds();
Code:
0: invokestatic #144 // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft;
3: astore_0
4: aload_0
5: getfield #148 // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
8: astore_1
9: aload_1
10: ifnull 33
13: aload_0
14: getfield #432 // Field net/minecraft/client/Minecraft.f_91080_:Lnet/minecraft/client/gui/screens/Screen;
17: ifnonnull 33
20: aload_0
21: getfield #214 // Field net/minecraft/client/Minecraft.f_91066_:Lnet/minecraft/client/Options;
24: invokevirtual #484 // Method net/minecraft/client/Options.m_92176_:()Lnet/minecraft/client/CameraType;
27: invokevirtual #489 // Method net/minecraft/client/CameraType.m_90612_:()Z
30: ifeq 44
33: ldc2_w #490 // long -9223372036854775808l
36: putstatic #493 // Field thirdPersonNailGunStackId:J
39: iconst_0
40: putstatic #495 // Field thirdPersonNailGunReloadWasActive:Z
43: return
44: aload_1
45: invokevirtual #154 // Method net/minecraft/world/entity/player/Player.m_21205_:()Lnet/minecraft/world/item/ItemStack;
48: astore_2
49: aload_2
50: invokevirtual #163 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
53: instanceof #167 // class com/ogaba/sa_combat/combat/weapon/NailGunItem
56: ifne 70
59: ldc2_w #490 // long -9223372036854775808l
62: putstatic #493 // Field thirdPersonNailGunStackId:J
65: iconst_0
66: putstatic #495 // Field thirdPersonNailGunReloadWasActive:Z
69: return
70: aload_2
71: invokestatic #501 // InterfaceMethod software/bernie/geckolib/animatable/GeoItem.getId:(Lnet/minecraft/world/item/ItemStack;)J
74: lstore_3
75: getstatic #493 // Field thirdPersonNailGunStackId:J
78: lload_3
79: lcmp
80: ifeq 125
83: lload_3
84: putstatic #493 // Field thirdPersonNailGunStackId:J
87: iconst_0
88: putstatic #495 // Field thirdPersonNailGunReloadWasActive:Z
91: aload_1
92: invokevirtual #505 // Method net/minecraft/world/entity/player/Player.m_9236_:()Lnet/minecraft/world/level/Level;
95: aload_1
96: invokevirtual #509 // Method net/minecraft/world/entity/player/Player.m_20185_:()D
99: aload_1
100: invokevirtual #512 // Method net/minecraft/world/entity/player/Player.m_20186_:()D
103: aload_1
104: invokevirtual #515 // Method net/minecraft/world/entity/player/Player.m_20189_:()D
107: getstatic #521 // Field com/ogaba/sa_combat/registry/ModSounds.NAIL_GUN_DRAW:Lnet/minecraftforge/registries/RegistryObject;
110: invokevirtual #526 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object;
113: checkcast #528 // class net/minecraft/sounds/SoundEvent
116: getstatic #534 // Field net/minecraft/sounds/SoundSource.PLAYERS:Lnet/minecraft/sounds/SoundSource;
119: fconst_1
120: fconst_1
121: iconst_0
122: invokevirtual #540 // Method net/minecraft/world/level/Level.m_7785_:(DDDLnet/minecraft/sounds/SoundEvent;Lnet/minecraft/sounds/SoundSource;FFZ)V
125: aload_2
126: invokestatic #544 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.isReloading:(Lnet/minecraft/world/item/ItemStack;)Z
129: ifne 139
132: aload_2
133: invokestatic #547 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.isClientReloadAnimationActive:(Lnet/minecraft/world/item/ItemStack;)Z
136: ifeq 143
139: iconst_1
140: goto 144
143: iconst_0
144: istore 5
146: iload 5
148: ifeq 191
151: getstatic #495 // Field thirdPersonNailGunReloadWasActive:Z
154: ifne 191
157: aload_1
158: invokevirtual #505 // Method net/minecraft/world/entity/player/Player.m_9236_:()Lnet/minecraft/world/level/Level;
161: aload_1
162: invokevirtual #509 // Method net/minecraft/world/entity/player/Player.m_20185_:()D
165: aload_1
166: invokevirtual #512 // Method net/minecraft/world/entity/player/Player.m_20186_:()D
169: aload_1
170: invokevirtual #515 // Method net/minecraft/world/entity/player/Player.m_20189_:()D
173: getstatic #550 // Field com/ogaba/sa_combat/registry/ModSounds.NAIL_GUN_RELOAD:Lnet/minecraftforge/registries/RegistryObject;
176: invokevirtual #526 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object;
179: checkcast #528 // class net/minecraft/sounds/SoundEvent
182: getstatic #534 // Field net/minecraft/sounds/SoundSource.PLAYERS:Lnet/minecraft/sounds/SoundSource;
185: fconst_1
186: fconst_1
187: iconst_0
188: invokevirtual #540 // Method net/minecraft/world/level/Level.m_7785_:(DDDLnet/minecraft/sounds/SoundEvent;Lnet/minecraft/sounds/SoundSource;FFZ)V
191: iload 5
193: putstatic #495 // Field thirdPersonNailGunReloadWasActive:Z
196: return
private static void tickNailGunTrigger();
Code:
0: invokestatic #144 // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft;
3: astore_0
4: aload_0
5: getfield #148 // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
8: astore_1
9: aload_1
10: ifnull 20
13: aload_0
14: getfield #432 // Field net/minecraft/client/Minecraft.f_91080_:Lnet/minecraft/client/gui/screens/Screen;
17: ifnull 29
20: iconst_0
21: putstatic #555 // Field nailGunTriggerWasDown:Z
24: fconst_0
25: putstatic #557 // Field nailGunAutoFireAccumulator:F
28: return
29: aload_1
30: invokestatic #561 // Method resolveNailGunHand:(Lnet/minecraft/world/entity/player/Player;)Lnet/minecraft/world/InteractionHand;
33: astore_2
34: aload_2
35: ifnonnull 47
38: iconst_0
39: putstatic #555 // Field nailGunTriggerWasDown:Z
42: fconst_0
43: putstatic #557 // Field nailGunAutoFireAccumulator:F
46: return
47: aload_1
48: aload_2
49: invokevirtual #565 // Method net/minecraft/world/entity/player/Player.m_21120_:(Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/item/ItemStack;
52: astore_3
53: aload_0
54: getfield #214 // Field net/minecraft/client/Minecraft.f_91066_:Lnet/minecraft/client/Options;
57: getfield #438 // Field net/minecraft/client/Options.f_92096_:Lnet/minecraft/client/KeyMapping;
60: invokevirtual #443 // Method net/minecraft/client/KeyMapping.m_90857_:()Z
63: istore 4
65: getstatic #555 // Field nailGunTriggerWasDown:Z
68: istore 5
70: iload 4
72: putstatic #555 // Field nailGunTriggerWasDown:Z
75: iload 4
77: ifeq 101
80: aload_3
81: invokestatic #544 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.isReloading:(Lnet/minecraft/world/item/ItemStack;)Z
84: ifne 101
87: aload_3
88: invokestatic #547 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.isClientReloadAnimationActive:(Lnet/minecraft/world/item/ItemStack;)Z
91: ifne 101
94: aload_1
95: invokevirtual #422 // Method net/minecraft/world/entity/player/Player.m_20142_:()Z
98: ifeq 106
101: fconst_0
102: putstatic #557 // Field nailGunAutoFireAccumulator:F
105: return
106: iload 5
108: ifne 121
111: iconst_1
112: istore 6
114: fconst_0
115: putstatic #557 // Field nailGunAutoFireAccumulator:F
118: goto 159
121: getstatic #557 // Field nailGunAutoFireAccumulator:F
124: ldc_w #566 // float 0.6f
127: fadd
128: putstatic #557 // Field nailGunAutoFireAccumulator:F
131: getstatic #557 // Field nailGunAutoFireAccumulator:F
134: fconst_1
135: fcmpl
136: iflt 143
139: iconst_1
140: goto 144
143: iconst_0
144: istore 6
146: iload 6
148: ifeq 159
151: getstatic #557 // Field nailGunAutoFireAccumulator:F
154: fconst_1
155: fsub
156: putstatic #557 // Field nailGunAutoFireAccumulator:F
159: iload 6
161: ifeq 171
164: aload_3
165: invokestatic #570 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.getMagazine:(Lnet/minecraft/world/item/ItemStack;)I
168: ifgt 172
171: return
172: aload_3
173: invokevirtual #163 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
176: checkcast #167 // class com/ogaba/sa_combat/combat/weapon/NailGunItem
179: aload_1
180: invokevirtual #505 // Method net/minecraft/world/entity/player/Player.m_9236_:()Lnet/minecraft/world/level/Level;
183: aload_1
184: aload_3
185: aload_2
186: invokevirtual #574 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.fire:(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/InteractionHand;)V
189: aload_1
190: invokevirtual #505 // Method net/minecraft/world/entity/player/Player.m_9236_:()Lnet/minecraft/world/level/Level;
193: aload_1
194: aload_3
195: invokestatic #578 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.playLocalShotSound:(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/item/ItemStack;)V
198: getstatic #452 // Field com/ogaba/sa_combat/network/ModMessages.INSTANCE:Lnet/minecraftforge/network/simple/SimpleChannel;
201: new #580 // class com/ogaba/sa_combat/network/packet/FireNailGunC2SPacket
204: dup
205: aload_2
206: invokestatic #190 // Method com/ogaba/sa_combat/client/render/NailGunAimClient.getProgress:()F
209: invokespecial #583 // Method com/ogaba/sa_combat/network/packet/FireNailGunC2SPacket."<init>":(Lnet/minecraft/world/InteractionHand;F)V
212: invokevirtual #461 // Method net/minecraftforge/network/simple/SimpleChannel.sendToServer:(Ljava/lang/Object;)V
215: return
private static void tickNailGunReloadKey();
Code:
0: invokestatic #144 // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft;
3: astore_0
4: getstatic #590 // Field com/ogaba/sa_combat/client/ModKeyBindings.RELOAD_NAIL_GUN:Lnet/minecraft/client/KeyMapping;
7: invokevirtual #593 // Method net/minecraft/client/KeyMapping.m_90859_:()Z
10: ifeq 150
13: aload_0
14: getfield #148 // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
17: astore_1
18: aload_1
19: ifnonnull 26
22: aconst_null
23: goto 30
26: aload_1
27: invokestatic #561 // Method resolveNailGunHand:(Lnet/minecraft/world/entity/player/Player;)Lnet/minecraft/world/InteractionHand;
30: astore_2
31: aload_1
32: ifnull 4
35: aload_2
36: ifnonnull 42
39: goto 4
42: aload_1
43: aload_2
44: invokevirtual #565 // Method net/minecraft/world/entity/player/Player.m_21120_:(Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/item/ItemStack;
47: astore_3
48: aload_3
49: invokevirtual #163 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
52: instanceof #167 // class com/ogaba/sa_combat/combat/weapon/NailGunItem
55: ifne 61
58: goto 4
61: aload_1
62: invokevirtual #597 // Method net/minecraft/world/entity/player/Player.m_150110_:()Lnet/minecraft/world/entity/player/Abilities;
65: getfield #602 // Field net/minecraft/world/entity/player/Abilities.f_35937_:Z
68: ifne 78
71: aload_1
72: invokestatic #606 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.countReserveAmmo:(Lnet/minecraft/world/entity/player/Player;)I
75: ifle 82
78: iconst_1
79: goto 83
82: iconst_0
83: istore 4
85: aload_3
86: invokestatic #544 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.isReloading:(Lnet/minecraft/world/item/ItemStack;)Z
89: ifne 119
92: aload_3
93: invokestatic #547 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.isClientReloadAnimationActive:(Lnet/minecraft/world/item/ItemStack;)Z
96: ifne 119
99: aload_3
100: invokestatic #570 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.getMagazine:(Lnet/minecraft/world/item/ItemStack;)I
103: aload_3
104: invokestatic #609 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.magazineCapacity:(Lnet/minecraft/world/item/ItemStack;)I
107: if_icmpge 119
110: iload 4
112: ifeq 119
115: iconst_1
116: goto 120
119: iconst_0
120: istore 5
122: iload 5
124: ifne 130
127: goto 4
130: aload_3
131: invokestatic #613 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.markClientReloadAnimation:(Lnet/minecraft/world/item/ItemStack;)V
134: getstatic #452 // Field com/ogaba/sa_combat/network/ModMessages.INSTANCE:Lnet/minecraftforge/network/simple/SimpleChannel;
137: new #615 // class com/ogaba/sa_combat/network/packet/ReloadNailGunC2SPacket
140: dup
141: invokespecial #616 // Method com/ogaba/sa_combat/network/packet/ReloadNailGunC2SPacket."<init>":()V
144: invokevirtual #461 // Method net/minecraftforge/network/simple/SimpleChannel.sendToServer:(Ljava/lang/Object;)V
147: goto 4
150: return
private static net.minecraft.world.InteractionHand resolveNailGunHand(net.minecraft.world.entity.player.Player);
Code:
0: aload_0
1: invokevirtual #154 // Method net/minecraft/world/entity/player/Player.m_21205_:()Lnet/minecraft/world/item/ItemStack;
4: invokevirtual #163 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
7: instanceof #167 // class com/ogaba/sa_combat/combat/weapon/NailGunItem
10: ifeq 17
13: getstatic #179 // Field net/minecraft/world/InteractionHand.MAIN_HAND:Lnet/minecraft/world/InteractionHand;
16: areturn
17: aconst_null
18: areturn
public static void onItemTooltip(net.minecraftforge.event.entity.player.ItemTooltipEvent);
Code:
0: aload_0
1: invokevirtual #626 // Method net/minecraftforge/event/entity/player/ItemTooltipEvent.getItemStack:()Lnet/minecraft/world/item/ItemStack;
4: astore_1
5: aload_1
6: invokevirtual #629 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z
9: ifne 19
12: aload_1
13: invokestatic #634 // Method com/ogaba/sa_combat/combat/weapon/WeaponSlotProfile.isUpgradeableWeapon:(Lnet/minecraft/world/item/ItemStack;)Z
16: ifne 20
19: return
20: aload_1
21: invokevirtual #163 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
24: instanceof #636 // class com/ogaba/sa_combat/combat/weapon/BaseMeleeWeapon
27: istore_2
28: iload_2
29: ifne 70
32: aload_1
33: invokestatic #641 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachmentData.hasAnyAttachment:(Lnet/minecraft/world/item/ItemStack;)Z
36: ifne 70
39: aload_1
40: invokestatic #646 // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData.hasModifier:(Lnet/minecraft/world/item/ItemStack;)Z
43: ifne 70
46: aload_1
47: invokestatic #650 // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData.getAttributeUpgrades:(Lnet/minecraft/world/item/ItemStack;)Ljava/util/List;
50: invokeinterface #655, 1 // InterfaceMethod java/util/List.isEmpty:()Z
55: ifeq 70
58: aload_1
59: invokestatic #658 // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData.getAbilityUpgrades:(Lnet/minecraft/world/item/ItemStack;)Ljava/util/List;
62: invokeinterface #655, 1 // InterfaceMethod java/util/List.isEmpty:()Z
67: ifne 74
70: iconst_1
71: goto 75
74: iconst_0
75: istore_3
76: iload_3
77: ifne 81
80: return
81: aload_0
82: invokevirtual #662 // Method net/minecraftforge/event/entity/player/ItemTooltipEvent.getToolTip:()Ljava/util/List;
85: invokestatic #666 // Method removeAttributeLinesBeforeMainHandHeader:(Ljava/util/List;)V
88: aload_0
89: aload_1
90: invokestatic #670 // Method replaceMainHandAttributeTooltip:(Lnet/minecraftforge/event/entity/player/ItemTooltipEvent;Lnet/minecraft/world/item/ItemStack;)V
93: iload_2
94: ifne 132
97: aload_1
98: invokestatic #675 // Method com/ogaba/sa_combat/combat/weapon/WeaponTooltipHelper.buildExternalTooltip:(Lnet/minecraft/world/item/ItemStack;)Ljava/util/List;
101: astore 4
103: aload 4
105: invokeinterface #655, 1 // InterfaceMethod java/util/List.isEmpty:()Z
110: ifne 132
113: aload_0
114: invokevirtual #662 // Method net/minecraftforge/event/entity/player/ItemTooltipEvent.getToolTip:()Ljava/util/List;
117: aload_0
118: invokevirtual #662 // Method net/minecraftforge/event/entity/player/ItemTooltipEvent.getToolTip:()Ljava/util/List;
121: invokestatic #679 // Method findVanillaAttributeInsertIndex:(Ljava/util/List;)I
124: aload 4
126: invokeinterface #683, 3 // InterfaceMethod java/util/List.addAll:(ILjava/util/Collection;)Z
131: pop
132: aload_0
133: invokevirtual #662 // Method net/minecraftforge/event/entity/player/ItemTooltipEvent.getToolTip:()Ljava/util/List;
136: invokestatic #666 // Method removeAttributeLinesBeforeMainHandHeader:(Ljava/util/List;)V
139: return
private static void removeAttributeLinesBeforeMainHandHeader(java.util.List<net.minecraft.network.chat.Component>);
Code:
0: aload_0
1: invokestatic #693 // Method findMainHandHeaderIndex:(Ljava/util/List;)I
4: istore_1
5: iload_1
6: ifge 10
9: return
10: iload_1
11: iconst_1
12: isub
13: istore_2
14: iload_2
15: iconst_1
16: if_icmplt 137
19: aload_0
20: iload_2
21: invokeinterface #696, 2 // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
26: checkcast #698 // class net/minecraft/network/chat/Component
29: invokeinterface #702, 1 // InterfaceMethod net/minecraft/network/chat/Component.getString:()Ljava/lang/String;
34: astore_3
35: aload_3
36: invokestatic #706 // Method isMainHandAttributeLine:(Ljava/lang/String;)Z
39: ifeq 131
42: aload_0
43: iload_2
44: invokeinterface #709, 2 // InterfaceMethod java/util/List.remove:(I)Ljava/lang/Object;
49: pop
50: iload_2
51: aload_0
52: invokeinterface #713, 1 // InterfaceMethod java/util/List.size:()I
57: if_icmpge 92
60: aload_0
61: iload_2
62: invokeinterface #696, 2 // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
67: checkcast #698 // class net/minecraft/network/chat/Component
70: invokeinterface #702, 1 // InterfaceMethod net/minecraft/network/chat/Component.getString:()Ljava/lang/String;
75: invokevirtual #718 // Method java/lang/String.isBlank:()Z
78: ifeq 92
81: aload_0
82: iload_2
83: invokeinterface #709, 2 // InterfaceMethod java/util/List.remove:(I)Ljava/lang/Object;
88: pop
89: goto 131
92: iload_2
93: iconst_1
94: isub
95: ifle 131
98: aload_0
99: iload_2
100: iconst_1
101: isub
102: invokeinterface #696, 2 // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
107: checkcast #698 // class net/minecraft/network/chat/Component
110: invokeinterface #702, 1 // InterfaceMethod net/minecraft/network/chat/Component.getString:()Ljava/lang/String;
115: invokevirtual #718 // Method java/lang/String.isBlank:()Z
118: ifeq 131
121: aload_0
122: iload_2
123: iconst_1
124: isub
125: invokeinterface #709, 2 // InterfaceMethod java/util/List.remove:(I)Ljava/lang/Object;
130: pop
131: iinc 2, -1
134: goto 14
137: return
private static void replaceMainHandAttributeTooltip(net.minecraftforge.event.entity.player.ItemTooltipEvent, net.minecraft.world.item.ItemStack);
Code:
0: aload_0
1: invokevirtual #662 // Method net/minecraftforge/event/entity/player/ItemTooltipEvent.getToolTip:()Ljava/util/List;
4: astore_2
5: aload_2
6: invokestatic #693 // Method findMainHandHeaderIndex:(Ljava/util/List;)I
9: istore_3
10: iload_3
11: ifge 15
14: return
15: iload_3
16: iconst_1
17: iadd
18: istore 4
20: iload 4
22: aload_2
23: invokeinterface #713, 1 // InterfaceMethod java/util/List.size:()I
28: if_icmpge 55
31: aload_2
32: iload 4
34: invokeinterface #696, 2 // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
39: checkcast #698 // class net/minecraft/network/chat/Component
42: aload_1
43: invokestatic #727 // Method isTooltipTechnicalTail:(Lnet/minecraft/network/chat/Component;Lnet/minecraft/world/item/ItemStack;)Z
46: ifne 55
49: iinc 4, 1
52: goto 20
55: aload_2
56: iload_3
57: iload 4
59: invokeinterface #731, 3 // InterfaceMethod java/util/List.subList:(II)Ljava/util/List;
64: invokeinterface #734, 1 // InterfaceMethod java/util/List.clear:()V
69: aload_2
70: iload_3
71: aload_1
72: invokestatic #737 // Method buildUnifiedMainHandAttributeTooltip:(Lnet/minecraft/world/item/ItemStack;)Ljava/util/List;
75: invokeinterface #683, 3 // InterfaceMethod java/util/List.addAll:(ILjava/util/Collection;)Z
80: pop
81: return
private static boolean isTooltipTechnicalTail(net.minecraft.network.chat.Component, net.minecraft.world.item.ItemStack);
Code:
0: aload_0
1: ifnonnull 6
4: iconst_0
5: ireturn
6: aload_0
7: invokeinterface #702, 1 // InterfaceMethod net/minecraft/network/chat/Component.getString:()Ljava/lang/String;
12: invokevirtual #741 // Method java/lang/String.trim:()Ljava/lang/String;
15: astore_2
16: aload_2
17: invokevirtual #742 // Method java/lang/String.isEmpty:()Z
20: ifeq 25
23: iconst_0
24: ireturn
25: aload_1
26: invokevirtual #745 // Method net/minecraft/world/item/ItemStack.m_41763_:()Z
29: ifeq 93
32: aload_1
33: invokevirtual #748 // Method net/minecraft/world/item/ItemStack.m_41768_:()Z
36: ifeq 93
39: ldc_w #750 // String item.durability
42: iconst_2
43: anewarray #4 // class java/lang/Object
46: dup
47: iconst_0
48: aload_1
49: invokevirtual #753 // Method net/minecraft/world/item/ItemStack.m_41776_:()I
52: aload_1
53: invokevirtual #756 // Method net/minecraft/world/item/ItemStack.m_41773_:()I
56: isub
57: invokestatic #762 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
60: aastore
61: dup
62: iconst_1
63: aload_1
64: invokevirtual #753 // Method net/minecraft/world/item/ItemStack.m_41776_:()I
67: invokestatic #762 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
70: aastore
71: invokestatic #766 // InterfaceMethod net/minecraft/network/chat/Component.m_237110_:(Ljava/lang/String;[Ljava/lang/Object;)Lnet/minecraft/network/chat/MutableComponent;
74: astore_3
75: aload_2
76: aload_3
77: invokeinterface #702, 1 // InterfaceMethod net/minecraft/network/chat/Component.getString:()Ljava/lang/String;
82: invokevirtual #741 // Method java/lang/String.trim:()Ljava/lang/String;
85: invokevirtual #770 // Method java/lang/String.equals:(Ljava/lang/Object;)Z
88: ifeq 93
91: iconst_1
92: ireturn
93: aload_2
94: getstatic #776 // Field java/util/Locale.ROOT:Ljava/util/Locale;
97: invokevirtual #780 // Method java/lang/String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
100: astore_3
101: aload_3
102: ldc_w #782 // String nbt
105: invokevirtual #785 // Method java/lang/String.startsWith:(Ljava/lang/String;)Z
108: ifeq 113
111: iconst_1
112: ireturn
113: aload_3
114: ldc_w #787 // String [a-z0-9_.-]+:[a-z0-9_./-]+
117: invokevirtual #790 // Method java/lang/String.matches:(Ljava/lang/String;)Z
120: ireturn
private static java.util.List<net.minecraft.network.chat.Component> buildUnifiedMainHandAttributeTooltip(net.minecraft.world.item.ItemStack);
Code:
0: new #797 // class java/util/ArrayList
3: dup
4: invokespecial #798 // Method java/util/ArrayList."<init>":()V
7: astore_1
8: aload_1
9: ldc_w #800 // String item.modifiers.mainhand
12: invokestatic #804 // InterfaceMethod net/minecraft/network/chat/Component.m_237115_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent;
15: getstatic #810 // Field net/minecraft/ChatFormatting.GRAY:Lnet/minecraft/ChatFormatting;
18: invokevirtual #816 // Method net/minecraft/network/chat/MutableComponent.m_130940_:(Lnet/minecraft/ChatFormatting;)Lnet/minecraft/network/chat/MutableComponent;
21: invokeinterface #819, 2 // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
26: pop
27: aload_0
28: invokestatic #823 // Method totalAttackDamage:(Lnet/minecraft/world/item/ItemStack;)D
31: dstore_2
32: dload_2
33: dconst_0
34: dcmpl
35: ifle 63
38: aload_1
39: dload_2
40: invokestatic #827 // Method fmtAttribute:(D)Ljava/lang/String;
43: invokedynamic #839, 0 // InvokeDynamic #0:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
48: invokestatic #842 // InterfaceMethod net/minecraft/network/chat/Component.m_237113_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent;
51: getstatic #845 // Field net/minecraft/ChatFormatting.DARK_GREEN:Lnet/minecraft/ChatFormatting;
54: invokevirtual #816 // Method net/minecraft/network/chat/MutableComponent.m_130940_:(Lnet/minecraft/ChatFormatting;)Lnet/minecraft/network/chat/MutableComponent;
57: invokeinterface #819, 2 // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
62: pop
63: aload_0
64: invokestatic #848 // Method totalAttackSpeed:(Lnet/minecraft/world/item/ItemStack;)D
67: dstore 4
69: aload_1
70: dload 4
72: invokestatic #827 // Method fmtAttribute:(D)Ljava/lang/String;
75: invokedynamic #851, 0 // InvokeDynamic #1:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
80: invokestatic #842 // InterfaceMethod net/minecraft/network/chat/Component.m_237113_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent;
83: getstatic #845 // Field net/minecraft/ChatFormatting.DARK_GREEN:Lnet/minecraft/ChatFormatting;
86: invokevirtual #816 // Method net/minecraft/network/chat/MutableComponent.m_130940_:(Lnet/minecraft/ChatFormatting;)Lnet/minecraft/network/chat/MutableComponent;
89: invokeinterface #819, 2 // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
94: pop
95: aload_0
96: invokestatic #854 // Method totalAttackKnockback:(Lnet/minecraft/world/item/ItemStack;)D
99: dstore 6
101: dload 6
103: invokestatic #857 // Method java/lang/Math.abs:(D)D
106: ldc2_w #858 // double 0.001d
109: dcmpl
110: ifle 139
113: aload_1
114: dload 6
116: invokestatic #827 // Method fmtAttribute:(D)Ljava/lang/String;
119: invokedynamic #862, 0 // InvokeDynamic #2:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
124: invokestatic #842 // InterfaceMethod net/minecraft/network/chat/Component.m_237113_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent;
127: getstatic #845 // Field net/minecraft/ChatFormatting.DARK_GREEN:Lnet/minecraft/ChatFormatting;
130: invokevirtual #816 // Method net/minecraft/network/chat/MutableComponent.m_130940_:(Lnet/minecraft/ChatFormatting;)Lnet/minecraft/network/chat/MutableComponent;
133: invokeinterface #819, 2 // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
138: pop
139: aload_0
140: invokestatic #865 // Method totalAttackReach:(Lnet/minecraft/world/item/ItemStack;)D
143: dstore 8
145: aload_1
146: dload 8
148: invokestatic #827 // Method fmtAttribute:(D)Ljava/lang/String;
151: invokedynamic #868, 0 // InvokeDynamic #3:makeConcatWithConstants:(Ljava/lang/String;)Ljava/lang/String;
156: invokestatic #842 // InterfaceMethod net/minecraft/network/chat/Component.m_237113_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent;
159: getstatic #845 // Field net/minecraft/ChatFormatting.DARK_GREEN:Lnet/minecraft/ChatFormatting;
162: invokevirtual #816 // Method net/minecraft/network/chat/MutableComponent.m_130940_:(Lnet/minecraft/ChatFormatting;)Lnet/minecraft/network/chat/MutableComponent;
165: invokeinterface #819, 2 // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
170: pop
171: aload_1
172: areturn
private static boolean isMainHandAttributeLine(java.lang.String);
Code:
0: aload_0
1: ifnull 11
4: aload_0
5: invokevirtual #718 // Method java/lang/String.isBlank:()Z
8: ifeq 13
11: iconst_0
12: ireturn
13: aload_0
14: getstatic #776 // Field java/util/Locale.ROOT:Ljava/util/Locale;
17: invokevirtual #780 // Method java/lang/String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
20: astore_1
21: aload_1
22: ldc_w #876 // String attack damage
25: invokevirtual #880 // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
28: ifne 121
31: aload_1
32: ldc_w #882 // String attack speed
35: invokevirtual #880 // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
38: ifne 121
41: aload_1
42: ldc_w #884 // String attack range
45: invokevirtual #880 // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
48: ifne 121
51: aload_1
52: ldc_w #886 // String entity reach
55: invokevirtual #880 // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
58: ifne 121
61: aload_1
62: ldc_w #888 // String attack knockback
65: invokevirtual #880 // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
68: ifne 121
71: aload_1
72: ldc_w #890 // String dano de ataque
75: invokevirtual #880 // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
78: ifne 121
81: aload_1
82: ldc_w #892 // String velocidade de ataque
85: invokevirtual #880 // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
88: ifne 121
91: aload_1
92: ldc_w #894 // String alcance de ataque
95: invokevirtual #880 // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
98: ifne 121
101: aload_1
102: ldc_w #896 // String repuls
105: invokevirtual #880 // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
108: ifne 121
111: aload_1
112: ldc_w #897 // String knockback
115: invokevirtual #880 // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
118: ifeq 125
121: iconst_1
122: goto 126
125: iconst_0
126: ireturn
private static int findMainHandHeaderIndex(java.util.List<net.minecraft.network.chat.Component>);
Code:
0: iconst_1
1: istore_1
2: iload_1
3: aload_0
4: invokeinterface #713, 1 // InterfaceMethod java/util/List.size:()I
9: if_icmpge 49
12: aload_0
13: iload_1
14: invokeinterface #696, 2 // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
19: checkcast #698 // class net/minecraft/network/chat/Component
22: invokeinterface #702, 1 // InterfaceMethod net/minecraft/network/chat/Component.getString:()Ljava/lang/String;
27: getstatic #776 // Field java/util/Locale.ROOT:Ljava/util/Locale;
30: invokevirtual #780 // Method java/lang/String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
33: astore_2
34: aload_2
35: invokestatic #902 // Method isMainHandHeader:(Ljava/lang/String;)Z
38: ifeq 43
41: iload_1
42: ireturn
43: iinc 1, 1
46: goto 2
49: iconst_m1
50: ireturn
private static boolean isMainHandHeader(java.lang.String);
Code:
0: aload_0
1: ldc_w #904 // String when in main hand
4: invokevirtual #880 // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
7: ifne 40
10: aload_0
11: ldc_w #906 // String main hand
14: invokevirtual #880 // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
17: ifne 40
20: aload_0
21: ldc_w #908 // String m?o principal
24: invokevirtual #880 // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
27: ifne 40
30: aload_0
31: ldc_w #910 // String mao principal
34: invokevirtual #880 // Method java/lang/String.contains:(Ljava/lang/CharSequence;)Z
37: ifeq 44
40: iconst_1
41: goto 45
44: iconst_0
45: ireturn
private static double totalAttackDamage(net.minecraft.world.item.ItemStack);
Code:
0: dconst_0
1: dstore_1
2: aload_0
3: getstatic #916 // Field net/minecraft/world/entity/EquipmentSlot.MAINHAND:Lnet/minecraft/world/entity/EquipmentSlot;
6: invokevirtual #920 // Method net/minecraft/world/item/ItemStack.m_41638_:(Lnet/minecraft/world/entity/EquipmentSlot;)Lcom/google/common/collect/Multimap;
9: getstatic #926 // Field net/minecraft/world/entity/ai/attributes/Attributes.f_22281_:Lnet/minecraft/world/entity/ai/attributes/Attribute;
12: invokeinterface #931, 2 // InterfaceMethod com/google/common/collect/Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
17: invokeinterface #937, 1 // InterfaceMethod java/util/Collection.iterator:()Ljava/util/Iterator;
22: astore_3
23: aload_3
24: invokeinterface #942, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
29: ifeq 54
32: aload_3
33: invokeinterface #945, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
38: checkcast #947 // class net/minecraft/world/entity/ai/attributes/AttributeModifier
41: astore 4
43: dload_1
44: aload 4
46: invokevirtual #950 // Method net/minecraft/world/entity/ai/attributes/AttributeModifier.m_22218_:()D
49: dadd
50: dstore_1
51: goto 23
54: dload_1
55: dconst_0
56: dcmpl
57: ifle 66
60: dload_1
61: dconst_1
62: dadd
63: goto 67
66: dconst_0
67: dreturn
private static double totalAttackSpeed(net.minecraft.world.item.ItemStack);
Code:
0: ldc2_w #954 // double 4.0d
3: dstore_1
4: aload_0
5: getstatic #916 // Field net/minecraft/world/entity/EquipmentSlot.MAINHAND:Lnet/minecraft/world/entity/EquipmentSlot;
8: invokevirtual #920 // Method net/minecraft/world/item/ItemStack.m_41638_:(Lnet/minecraft/world/entity/EquipmentSlot;)Lcom/google/common/collect/Multimap;
11: getstatic #958 // Field net/minecraft/world/entity/ai/attributes/Attributes.f_22283_:Lnet/minecraft/world/entity/ai/attributes/Attribute;
14: invokeinterface #931, 2 // InterfaceMethod com/google/common/collect/Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
19: invokeinterface #937, 1 // InterfaceMethod java/util/Collection.iterator:()Ljava/util/Iterator;
24: astore_3
25: aload_3
26: invokeinterface #942, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
31: ifeq 56
34: aload_3
35: invokeinterface #945, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
40: checkcast #947 // class net/minecraft/world/entity/ai/attributes/AttributeModifier
43: astore 4
45: dload_1
46: aload 4
48: invokevirtual #950 // Method net/minecraft/world/entity/ai/attributes/AttributeModifier.m_22218_:()D
51: dadd
52: dstore_1
53: goto 25
56: dload_1
57: dreturn
private static double totalAttackKnockback(net.minecraft.world.item.ItemStack);
Code:
0: dconst_0
1: dstore_1
2: aload_0
3: getstatic #916 // Field net/minecraft/world/entity/EquipmentSlot.MAINHAND:Lnet/minecraft/world/entity/EquipmentSlot;
6: invokevirtual #920 // Method net/minecraft/world/item/ItemStack.m_41638_:(Lnet/minecraft/world/entity/EquipmentSlot;)Lcom/google/common/collect/Multimap;
9: getstatic #961 // Field net/minecraft/world/entity/ai/attributes/Attributes.f_22282_:Lnet/minecraft/world/entity/ai/attributes/Attribute;
12: invokeinterface #931, 2 // InterfaceMethod com/google/common/collect/Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
17: invokeinterface #937, 1 // InterfaceMethod java/util/Collection.iterator:()Ljava/util/Iterator;
22: astore_3
23: aload_3
24: invokeinterface #942, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
29: ifeq 54
32: aload_3
33: invokeinterface #945, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
38: checkcast #947 // class net/minecraft/world/entity/ai/attributes/AttributeModifier
41: astore 4
43: dload_1
44: aload 4
46: invokevirtual #950 // Method net/minecraft/world/entity/ai/attributes/AttributeModifier.m_22218_:()D
49: dadd
50: dstore_1
51: goto 23
54: dload_1
55: dreturn
private static double totalAttackReach(net.minecraft.world.item.ItemStack);
Code:
0: ldc2_w #962 // double 2.5d
3: dstore_1
4: aload_0
5: getstatic #916 // Field net/minecraft/world/entity/EquipmentSlot.MAINHAND:Lnet/minecraft/world/entity/EquipmentSlot;
8: invokevirtual #920 // Method net/minecraft/world/item/ItemStack.m_41638_:(Lnet/minecraft/world/entity/EquipmentSlot;)Lcom/google/common/collect/Multimap;
11: getstatic #968 // Field net/minecraftforge/common/ForgeMod.ENTITY_REACH:Lnet/minecraftforge/registries/RegistryObject;
14: invokevirtual #526 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object;
17: checkcast #970 // class net/minecraft/world/entity/ai/attributes/Attribute
20: invokeinterface #931, 2 // InterfaceMethod com/google/common/collect/Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
25: invokeinterface #937, 1 // InterfaceMethod java/util/Collection.iterator:()Ljava/util/Iterator;
30: astore_3
31: aload_3
32: invokeinterface #942, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
37: ifeq 62
40: aload_3
41: invokeinterface #945, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
46: checkcast #947 // class net/minecraft/world/entity/ai/attributes/AttributeModifier
49: astore 4
51: dload_1
52: aload 4
54: invokevirtual #950 // Method net/minecraft/world/entity/ai/attributes/AttributeModifier.m_22218_:()D
57: dadd
58: dstore_1
59: goto 31
62: dload_1
63: dreturn
private static java.lang.String fmtAttribute(double);
Code:
0: dload_0
1: dload_0
2: invokestatic #973 // Method java/lang/Math.rint:(D)D
5: dsub
6: invokestatic #857 // Method java/lang/Math.abs:(D)D
9: ldc2_w #858 // double 0.001d
12: dcmpg
13: ifge 25
16: dload_0
17: invokestatic #973 // Method java/lang/Math.rint:(D)D
20: d2i
21: invokestatic #976 // Method java/lang/String.valueOf:(I)Ljava/lang/String;
24: areturn
25: getstatic #776 // Field java/util/Locale.ROOT:Ljava/util/Locale;
28: ldc_w #978 // String %.2f
31: iconst_1
32: anewarray #4 // class java/lang/Object
35: dup
36: iconst_0
37: dload_0
38: invokestatic #983 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double;
41: aastore
42: invokestatic #987 // Method java/lang/String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
45: astore_2
46: aload_2
47: ldc_w #989 // String 0
50: invokevirtual #992 // Method java/lang/String.endsWith:(Ljava/lang/String;)Z
53: ifeq 71
56: aload_2
57: iconst_0
58: aload_2
59: invokevirtual #995 // Method java/lang/String.length:()I
62: iconst_1
63: isub
64: invokevirtual #999 // Method java/lang/String.substring:(II)Ljava/lang/String;
67: astore_2
68: goto 46
71: aload_2
72: ldc_w #1001 // String .
75: invokevirtual #992 // Method java/lang/String.endsWith:(Ljava/lang/String;)Z
78: ifeq 93
81: aload_2
82: iconst_0
83: aload_2
84: invokevirtual #995 // Method java/lang/String.length:()I
87: iconst_1
88: isub
89: invokevirtual #999 // Method java/lang/String.substring:(II)Ljava/lang/String;
92: astore_2
93: aload_2
94: areturn
private static int findVanillaAttributeInsertIndex(java.util.List<net.minecraft.network.chat.Component>);
Code:
0: iconst_1
1: istore_1
2: iload_1
3: aload_0
4: invokeinterface #713, 1 // InterfaceMethod java/util/List.size:()I
9: if_icmpge 81
12: aload_0
13: iload_1
14: invokeinterface #696, 2 // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
19: checkcast #698 // class net/minecraft/network/chat/Component
22: invokeinterface #702, 1 // InterfaceMethod net/minecraft/network/chat/Component.getString:()Ljava/lang/String;
27: getstatic #776 // Field java/util/Locale.ROOT:Ljava/util/Locale;
30: invokevirtual #780 // Method java/lang/String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
33: astore_2
34: aload_2
35: invokestatic #902 // Method isMainHandHeader:(Ljava/lang/String;)Z
38: ifeq 75
41: iload_1
42: iconst_1
43: if_icmple 73
46: aload_0
47: iload_1
48: iconst_1
49: isub
50: invokeinterface #696, 2 // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
55: checkcast #698 // class net/minecraft/network/chat/Component
58: invokeinterface #702, 1 // InterfaceMethod net/minecraft/network/chat/Component.getString:()Ljava/lang/String;
63: invokevirtual #742 // Method java/lang/String.isEmpty:()Z
66: ifeq 73
69: iload_1
70: iconst_1
71: isub
72: ireturn
73: iload_1
74: ireturn
75: iinc 1, 1
78: goto 2
81: aload_0
82: invokeinterface #713, 1 // InterfaceMethod java/util/List.size:()I
87: ireturn
public static void onRenderGuiOverlay(net.minecraftforge.client.event.RenderGuiOverlayEvent$Post);
Code:
0: aload_0
1: invokevirtual #1007 // Method net/minecraftforge/client/event/RenderGuiOverlayEvent$Post.getOverlay:()Lnet/minecraftforge/client/gui/overlay/NamedGuiOverlay;
4: invokevirtual #1013 // Method net/minecraftforge/client/gui/overlay/NamedGuiOverlay.id:()Lnet/minecraft/resources/ResourceLocation;
7: getstatic #1019 // Field net/minecraftforge/client/gui/overlay/VanillaGuiOverlay.HOTBAR:Lnet/minecraftforge/client/gui/overlay/VanillaGuiOverlay;
10: invokevirtual #1020 // Method net/minecraftforge/client/gui/overlay/VanillaGuiOverlay.id:()Lnet/minecraft/resources/ResourceLocation;
13: invokevirtual #1023 // Method net/minecraft/resources/ResourceLocation.equals:(Ljava/lang/Object;)Z
16: ifne 20
19: return
20: invokestatic #144 // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft;
23: astore_1
24: aload_1
25: getfield #148 // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
28: ifnull 41
31: aload_1
32: getfield #214 // Field net/minecraft/client/Minecraft.f_91066_:Lnet/minecraft/client/Options;
35: getfield #1026 // Field net/minecraft/client/Options.f_92062_:Z
38: ifeq 42
41: return
42: aload_0
43: invokevirtual #1030 // Method net/minecraftforge/client/event/RenderGuiOverlayEvent$Post.getGuiGraphics:()Lnet/minecraft/client/gui/GuiGraphics;
46: astore_2
47: aload_2
48: invokestatic #1034 // Method renderBallisticVestHud:(Lnet/minecraft/client/gui/GuiGraphics;)V
51: aload_2
52: aload_1
53: invokestatic #1038 // Method renderGrenadeFuseHud:(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/client/Minecraft;)V
56: aload_2
57: aload_1
58: invokestatic #1041 // Method renderNailGunAmmoHud:(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/client/Minecraft;)V
61: aload_2
62: aload_1
63: invokestatic #1044 // Method renderCrossbowAmmoHud:(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/client/Minecraft;)V
66: aload_1
67: getfield #148 // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
70: invokevirtual #1049 // Method net/minecraft/client/player/LocalPlayer.m_150108_:()Z
73: ifne 100
76: getstatic #1051 // Field tacticalScopeProgress:F
79: ldc_w #349 // float 0.01f
82: fcmpl
83: ifgt 96
86: aload_1
87: getfield #148 // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
90: invokestatic #1057 // Method com/ogaba/sa_combat/client/scope/TacticalCrossbowScopeClient.isScopingWithScopedCrossbow:(Lnet/minecraft/client/player/LocalPlayer;)Z
93: ifeq 100
96: aload_2
97: invokestatic #1062 // Method renderRealSpyglassOverlay:(Lnet/minecraft/client/gui/GuiGraphics;)V
100: return
private static void renderGrenadeFuseHud(net.minecraft.client.gui.GuiGraphics, net.minecraft.client.Minecraft);
Code:
0: aload_1
1: getfield #148 // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
4: astore_2
5: aload_2
6: ifnull 26
9: aload_2
10: invokevirtual #1066 // Method net/minecraft/world/entity/player/Player.m_6117_:()Z
13: ifeq 26
16: aload_2
17: invokevirtual #1069 // Method net/minecraft/world/entity/player/Player.m_7655_:()Lnet/minecraft/world/InteractionHand;
20: getstatic #179 // Field net/minecraft/world/InteractionHand.MAIN_HAND:Lnet/minecraft/world/InteractionHand;
23: if_acmpeq 27
26: return
27: aload_2
28: invokevirtual #154 // Method net/minecraft/world/entity/player/Player.m_21205_:()Lnet/minecraft/world/item/ItemStack;
31: astore_3
32: aload_3
33: invokevirtual #163 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
36: astore 5
38: aload 5
40: instanceof #165 // class com/ogaba/sa_combat/item/SpecialGrenadeItem
43: ifeq 68
46: aload 5
48: checkcast #165 // class com/ogaba/sa_combat/item/SpecialGrenadeItem
51: astore 4
53: aload 4
55: invokevirtual #1072 // Method com/ogaba/sa_combat/item/SpecialGrenadeItem.hasCookableFuse:()Z
58: ifeq 68
61: aload_3
62: invokestatic #1075 // Method com/ogaba/sa_combat/item/SpecialGrenadeItem.isArmed:(Lnet/minecraft/world/item/ItemStack;)Z
65: ifne 69
68: return
69: aload_3
70: invokestatic #1079 // Method com/ogaba/sa_combat/item/SpecialGrenadeItem.getFuseTimerProgress:(Lnet/minecraft/world/item/ItemStack;)F
73: fstore 5
75: ldc_w #1080 // float 55.0f
78: fload 5
80: fmul
81: invokestatic #1084 // Method net/minecraft/util/Mth.m_14143_:(F)I
84: iconst_0
85: bipush 55
87: invokestatic #1088 // Method net/minecraft/util/Mth.m_14045_:(III)I
90: istore 6
92: aload_0
93: invokevirtual #1091 // Method net/minecraft/client/gui/GuiGraphics.m_280182_:()I
96: bipush 64
98: isub
99: iconst_2
100: idiv
101: istore 7
103: aload_0
104: invokevirtual #1094 // Method net/minecraft/client/gui/GuiGraphics.m_280206_:()I
107: iconst_2
108: idiv
109: bipush 27
111: iadd
112: istore 8
114: invokestatic #1099 // Method com/mojang/blaze3d/systems/RenderSystem.enableBlend:()V
117: invokestatic #1102 // Method com/mojang/blaze3d/systems/RenderSystem.defaultBlendFunc:()V
120: iload 6
122: ifle 151
125: aload_0
126: getstatic #1104 // Field GRENADE_FUSE_FILL:Lnet/minecraft/resources/ResourceLocation;
129: iload 7
131: iconst_5
132: iadd
133: iload 8
135: iconst_2
136: iadd
137: ldc_w #273 // float 5.0f
140: fconst_2
141: iload 6
143: iconst_4
144: bipush 64
146: bipush 10
148: invokevirtual #1108 // Method net/minecraft/client/gui/GuiGraphics.m_280163_:(Lnet/minecraft/resources/ResourceLocation;IIFFIIII)V
151: aload_0
152: getstatic #1110 // Field GRENADE_FUSE_FRAME:Lnet/minecraft/resources/ResourceLocation;
155: iload 7
157: iload 8
159: fconst_0
160: fconst_0
161: bipush 64
163: bipush 10
165: bipush 64
167: bipush 10
169: invokevirtual #1108 // Method net/minecraft/client/gui/GuiGraphics.m_280163_:(Lnet/minecraft/resources/ResourceLocation;IIFFIIII)V
172: invokestatic #1113 // Method com/mojang/blaze3d/systems/RenderSystem.disableBlend:()V
175: return
private static void renderBallisticVestHud(net.minecraft.client.gui.GuiGraphics);
Code:
0: invokestatic #1124 // Method com/ogaba/sa_combat/client/armor/ClientBallisticProtectionData.shouldRender:()Z
3: ifne 7
6: return
7: iconst_1
8: invokestatic #1127 // Method com/ogaba/sa_combat/client/armor/ClientBallisticProtectionData.getMaxProtection:()I
11: invokestatic #1131 // Method java/lang/Math.max:(II)I
14: istore_1
15: invokestatic #1134 // Method com/ogaba/sa_combat/client/armor/ClientBallisticProtectionData.getProtection:()I
18: iconst_0
19: iload_1
20: invokestatic #1088 // Method net/minecraft/util/Mth.m_14045_:(III)I
23: istore_2
24: iload_2
25: i2f
26: iload_1
27: i2f
28: fdiv
29: fconst_0
30: fconst_1
31: invokestatic #238 // Method net/minecraft/util/Mth.m_14036_:(FFF)F
34: fstore_3
35: fload_3
36: ldc_w #1135 // float 16.0f
39: fmul
40: invokestatic #1138 // Method net/minecraft/util/Mth.m_14167_:(F)I
43: istore 4
45: iload 4
47: iconst_0
48: bipush 16
50: invokestatic #1088 // Method net/minecraft/util/Mth.m_14045_:(III)I
53: istore 4
55: bipush 20
57: istore 5
59: aload_0
60: invokevirtual #1094 // Method net/minecraft/client/gui/GuiGraphics.m_280206_:()I
63: bipush 30
65: isub
66: bipush 20
68: isub
69: istore 6
71: ldc_w #1139 // float 1.875f
74: fstore 7
76: ldc_w #1139 // float 1.875f
79: fstore 8
81: aload_0
82: invokevirtual #1142 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
85: invokevirtual #1145 // Method com/mojang/blaze3d/vertex/PoseStack.m_85836_:()V
88: aload_0
89: invokevirtual #1142 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
92: iload 5
94: i2f
95: iload 6
97: i2f
98: fconst_0
99: invokevirtual #1149 // Method com/mojang/blaze3d/vertex/PoseStack.m_252880_:(FFF)V
102: aload_0
103: invokevirtual #1142 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
106: fload 7
108: fload 8
110: fconst_1
111: invokevirtual #1152 // Method com/mojang/blaze3d/vertex/PoseStack.m_85841_:(FFF)V
114: aload_0
115: getstatic #1154 // Field BALLISTIC_VEST_BG:Lnet/minecraft/resources/ResourceLocation;
118: iconst_0
119: iconst_0
120: fconst_0
121: fconst_0
122: bipush 16
124: bipush 16
126: bipush 16
128: bipush 16
130: invokevirtual #1108 // Method net/minecraft/client/gui/GuiGraphics.m_280163_:(Lnet/minecraft/resources/ResourceLocation;IIFFIIII)V
133: iload 4
135: ifle 167
138: bipush 16
140: iload 4
142: isub
143: istore 9
145: aload_0
146: getstatic #1156 // Field BALLISTIC_VEST_FILL:Lnet/minecraft/resources/ResourceLocation;
149: iconst_0
150: iload 9
152: fconst_0
153: iload 9
155: i2f
156: bipush 16
158: iload 4
160: bipush 16
162: bipush 16
164: invokevirtual #1108 // Method net/minecraft/client/gui/GuiGraphics.m_280163_:(Lnet/minecraft/resources/ResourceLocation;IIFFIIII)V
167: aload_0
168: invokevirtual #1142 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
171: invokevirtual #1159 // Method com/mojang/blaze3d/vertex/PoseStack.m_85849_:()V
174: return
private static void renderNailGunAmmoHud(net.minecraft.client.gui.GuiGraphics, net.minecraft.client.Minecraft);
Code:
0: aload_1
1: getfield #148 // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
4: ifnonnull 8
7: return
8: aload_1
9: getfield #148 // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
12: invokevirtual #1168 // Method net/minecraft/client/player/LocalPlayer.m_21205_:()Lnet/minecraft/world/item/ItemStack;
15: astore_2
16: aload_2
17: invokevirtual #163 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
20: instanceof #167 // class com/ogaba/sa_combat/combat/weapon/NailGunItem
23: ifne 27
26: return
27: aload_2
28: invokestatic #570 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.getMagazine:(Lnet/minecraft/world/item/ItemStack;)I
31: istore_3
32: aload_1
33: getfield #148 // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
36: invokestatic #1172 // Method refreshInventoryHudCache:(Lnet/minecraft/world/entity/player/Player;)V
39: getstatic #1174 // Field cachedNailReserve:I
42: istore 4
44: aload_0
45: aload_1
46: invokestatic #1177 // Method nailIconStack:()Lnet/minecraft/world/item/ItemStack;
49: iload_3
50: invokestatic #976 // Method java/lang/String.valueOf:(I)Ljava/lang/String;
53: iload 4
55: invokedynamic #1181, 0 // InvokeDynamic #4:makeConcatWithConstants:(I)Ljava/lang/String;
60: iload_3
61: ifgt 68
64: iconst_1
65: goto 69
68: iconst_0
69: aload_2
70: invokestatic #544 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.isReloading:(Lnet/minecraft/world/item/ItemStack;)Z
73: ifne 83
76: aload_2
77: invokestatic #547 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.isClientReloadAnimationActive:(Lnet/minecraft/world/item/ItemStack;)Z
80: ifeq 87
83: iconst_1
84: goto 88
87: iconst_0
88: invokestatic #1185 // Method renderAmmoHud:(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/client/Minecraft;Lnet/minecraft/world/item/ItemStack;Ljava/lang/String;Ljava/lang/String;ZZ)V
91: return
private static void renderCrossbowAmmoHud(net.minecraft.client.gui.GuiGraphics, net.minecraft.client.Minecraft);
Code:
0: aload_1
1: getfield #148 // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
4: ifnonnull 8
7: return
8: aload_1
9: getfield #148 // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
12: invokevirtual #1168 // Method net/minecraft/client/player/LocalPlayer.m_21205_:()Lnet/minecraft/world/item/ItemStack;
15: astore_2
16: aload_2
17: invokevirtual #163 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
20: instanceof #46 // class com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem
23: ifne 45
26: aload_1
27: getfield #148 // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
30: invokevirtual #1188 // Method net/minecraft/client/player/LocalPlayer.m_21206_:()Lnet/minecraft/world/item/ItemStack;
33: astore_2
34: aload_2
35: invokevirtual #163 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
38: instanceof #46 // class com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem
41: ifne 45
44: return
45: aload_2
46: invokestatic #1192 // Method com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem.getSelectedBoltType:(Lnet/minecraft/world/item/ItemStack;)Lcom/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem$BoltType;
49: astore_3
50: aload_3
51: getstatic #1196 // Field com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem$BoltType.IMPROVISED:Lcom/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem$BoltType;
54: if_acmpne 63
57: invokestatic #1199 // Method improvisedBoltIconStack:()Lnet/minecraft/world/item/ItemStack;
60: goto 66
63: invokestatic #1202 // Method tacticalBoltIconStack:()Lnet/minecraft/world/item/ItemStack;
66: astore 4
68: aload_1
69: getfield #148 // Field net/minecraft/client/Minecraft.f_91074_:Lnet/minecraft/client/player/LocalPlayer;
72: invokestatic #1172 // Method refreshInventoryHudCache:(Lnet/minecraft/world/entity/player/Player;)V
75: aload_3
76: getstatic #1196 // Field com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem$BoltType.IMPROVISED:Lcom/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem$BoltType;
79: if_acmpne 88
82: getstatic #1204 // Field cachedImprovisedBoltReserve:I
85: goto 91
88: getstatic #1206 // Field cachedTacticalBoltReserve:I
91: istore 5
93: aload_2
94: invokestatic #1209 // Method com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem.isLoaded:(Lnet/minecraft/world/item/ItemStack;)Z
97: istore 6
99: aload_2
100: invokestatic #1212 // Method com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem.isLoading:(Lnet/minecraft/world/item/ItemStack;)Z
103: ifeq 117
106: aload_2
107: invokestatic #1215 // Method com/ogaba/sa_combat/combat/weapon/TacticalCrossbowItem.hasAutoMechanism:(Lnet/minecraft/world/item/ItemStack;)Z
110: ifne 117
113: iconst_1
114: goto 118
117: iconst_0
118: istore 7
120: aload_0
121: aload_1
122: aload 4
124: iload 6
126: ifeq 135
129: ldc_w #1217 // String 1
132: goto 138
135: ldc_w #989 // String 0
138: iload 5
140: invokedynamic #1181, 0 // InvokeDynamic #4:makeConcatWithConstants:(I)Ljava/lang/String;
145: iload 6
147: ifne 159
150: iload 5
152: ifgt 159
155: iconst_1
156: goto 160
159: iconst_0
160: iload 7
162: invokestatic #1185 // Method renderAmmoHud:(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/client/Minecraft;Lnet/minecraft/world/item/ItemStack;Ljava/lang/String;Ljava/lang/String;ZZ)V
165: return
private static void refreshInventoryHudCache(net.minecraft.world.entity.player.Player);
Code:
0: aload_0
1: ifnull 24
4: getstatic #1223 // Field cachedInventoryPlayerId:I
7: aload_0
8: invokevirtual #1226 // Method net/minecraft/world/entity/player/Player.m_19879_:()I
11: if_icmpne 25
14: getstatic #1228 // Field cachedInventoryTick:I
17: aload_0
18: getfield #1231 // Field net/minecraft/world/entity/player/Player.f_19797_:I
21: if_icmpne 25
24: return
25: aload_0
26: invokevirtual #1226 // Method net/minecraft/world/entity/player/Player.m_19879_:()I
29: putstatic #1223 // Field cachedInventoryPlayerId:I
32: aload_0
33: getfield #1231 // Field net/minecraft/world/entity/player/Player.f_19797_:I
36: putstatic #1228 // Field cachedInventoryTick:I
39: iconst_0
40: putstatic #1174 // Field cachedNailReserve:I
43: iconst_0
44: putstatic #1206 // Field cachedTacticalBoltReserve:I
47: iconst_0
48: putstatic #1204 // Field cachedImprovisedBoltReserve:I
51: aload_0
52: invokevirtual #1235 // Method net/minecraft/world/entity/player/Player.m_150109_:()Lnet/minecraft/world/entity/player/Inventory;
55: getfield #1241 // Field net/minecraft/world/entity/player/Inventory.f_35974_:Lnet/minecraft/core/NonNullList;
58: invokevirtual #1244 // Method net/minecraft/core/NonNullList.iterator:()Ljava/util/Iterator;
61: astore_1
62: aload_1
63: invokeinterface #942, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
68: ifeq 186
71: aload_1
72: invokeinterface #945, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
77: checkcast #159 // class net/minecraft/world/item/ItemStack
80: astore_2
81: aload_2
82: invokevirtual #629 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z
85: ifeq 91
88: goto 62
91: getstatic #1246 // Field NAIL_ITEM_ID:Lnet/minecraft/resources/ResourceLocation;
94: getstatic #1252 // Field net/minecraftforge/registries/ForgeRegistries.ITEMS:Lnet/minecraftforge/registries/IForgeRegistry;
97: aload_2
98: invokevirtual #163 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item;
101: invokeinterface #1258, 2 // InterfaceMethod net/minecraftforge/registries/IForgeRegistry.getKey:(Ljava/lang/Object;)Lnet/minecraft/resources/ResourceLocation;
106: invokevirtual #1023 // Method net/minecraft/resources/ResourceLocation.equals:(Ljava/lang/Object;)Z
109: ifeq 126
112: getstatic #1174 // Field cachedNailReserve:I
115: aload_2
116: invokevirtual #1261 // Method net/minecraft/world/item/ItemStack.m_41613_:()I
119: iadd
120: putstatic #1174 // Field cachedNailReserve:I
123: goto 183
126: aload_2
127: getstatic #1266 // Field com/ogaba/sa_combat/registry/ModItems.TACTICAL_BOLT:Lnet/minecraftforge/registries/RegistryObject;
130: invokevirtual #526 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object;
133: checkcast #1268 // class net/minecraft/world/item/Item
136: invokevirtual #1272 // Method net/minecraft/world/item/ItemStack.m_150930_:(Lnet/minecraft/world/item/Item;)Z
139: ifeq 156
142: getstatic #1206 // Field cachedTacticalBoltReserve:I
145: aload_2
146: invokevirtual #1261 // Method net/minecraft/world/item/ItemStack.m_41613_:()I
149: iadd
150: putstatic #1206 // Field cachedTacticalBoltReserve:I
153: goto 183
156: aload_2
157: getstatic #1275 // Field com/ogaba/sa_combat/registry/ModItems.IMPROVISED_BOLT:Lnet/minecraftforge/registries/RegistryObject;
160: invokevirtual #526 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object;
163: checkcast #1268 // class net/minecraft/world/item/Item
166: invokevirtual #1272 // Method net/minecraft/world/item/ItemStack.m_150930_:(Lnet/minecraft/world/item/Item;)Z
169: ifeq 183
172: getstatic #1204 // Field cachedImprovisedBoltReserve:I
175: aload_2
176: invokevirtual #1261 // Method net/minecraft/world/item/ItemStack.m_41613_:()I
179: iadd
180: putstatic #1204 // Field cachedImprovisedBoltReserve:I
183: goto 62
186: return
private static void renderAmmoHud(net.minecraft.client.gui.GuiGraphics, net.minecraft.client.Minecraft, net.minecraft.world.item.ItemStack, java.lang.String, java.lang.String, boolean, boolean);
Code:
0: ldc_w #1276 // float 1.4f
3: fstore 7
5: ldc_w #1277 // float 1.8f
8: fstore 8
10: ldc_w #1278 // float 1.2f
13: fstore 9
15: ldc_w #1135 // float 16.0f
18: fload 7
20: fmul
21: invokestatic #1281 // Method java/lang/Math.round:(F)I
24: istore 10
26: aload_1
27: getfield #1285 // Field net/minecraft/client/Minecraft.f_91062_:Lnet/minecraft/client/gui/Font;
30: aload_3
31: invokevirtual #1291 // Method net/minecraft/client/gui/Font.m_92895_:(Ljava/lang/String;)I
34: i2f
35: fload 8
37: fmul
38: invokestatic #1281 // Method java/lang/Math.round:(F)I
41: istore 11
43: aload_1
44: getfield #1285 // Field net/minecraft/client/Minecraft.f_91062_:Lnet/minecraft/client/gui/Font;
47: aload 4
49: invokevirtual #1291 // Method net/minecraft/client/gui/Font.m_92895_:(Ljava/lang/String;)I
52: i2f
53: fload 9
55: fmul
56: invokestatic #1281 // Method java/lang/Math.round:(F)I
59: istore 12
61: iload 10
63: bipush 8
65: iadd
66: iload 11
68: iadd
69: iconst_3
70: iadd
71: iload 12
73: iadd
74: istore 13
76: iload 10
78: aload_1
79: getfield #1285 // Field net/minecraft/client/Minecraft.f_91062_:Lnet/minecraft/client/gui/Font;
82: invokestatic #1297 // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
85: pop
86: ldc_w #1298 // float 9.0f
89: fload 8
91: fmul
92: invokestatic #1281 // Method java/lang/Math.round:(F)I
95: invokestatic #1131 // Method java/lang/Math.max:(II)I
98: istore 14
100: aload_0
101: invokevirtual #1091 // Method net/minecraft/client/gui/GuiGraphics.m_280182_:()I
104: bipush 16
106: isub
107: iload 13
109: isub
110: istore 15
112: aload_0
113: invokevirtual #1094 // Method net/minecraft/client/gui/GuiGraphics.m_280206_:()I
116: bipush 16
118: isub
119: iload 14
121: isub
122: istore 16
124: iload 6
126: ifeq 189
129: ldc_w #1300 // String Reloading...
132: astore 17
134: aload_0
135: invokevirtual #1091 // Method net/minecraft/client/gui/GuiGraphics.m_280182_:()I
138: bipush 16
140: isub
141: aload_1
142: getfield #1285 // Field net/minecraft/client/Minecraft.f_91062_:Lnet/minecraft/client/gui/Font;
145: aload 17
147: invokevirtual #1291 // Method net/minecraft/client/gui/Font.m_92895_:(Ljava/lang/String;)I
150: isub
151: istore 18
153: iload 16
155: aload_1
156: getfield #1285 // Field net/minecraft/client/Minecraft.f_91062_:Lnet/minecraft/client/gui/Font;
159: invokestatic #1297 // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
162: pop
163: bipush 9
165: isub
166: iconst_3
167: isub
168: istore 19
170: aload_0
171: aload_1
172: getfield #1285 // Field net/minecraft/client/Minecraft.f_91062_:Lnet/minecraft/client/gui/Font;
175: aload 17
177: iload 18
179: iload 19
181: ldc_w #1301 // int 16765517
184: iconst_1
185: invokevirtual #1305 // Method net/minecraft/client/gui/GuiGraphics.m_280056_:(Lnet/minecraft/client/gui/Font;Ljava/lang/String;IIIZ)I
188: pop
189: iload 15
191: istore 17
193: iload 16
195: iload 14
197: iload 10
199: isub
200: iconst_2
201: idiv
202: iadd
203: istore 18
205: aload_2
206: invokevirtual #629 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z
209: ifne 259
212: aload_0
213: invokevirtual #1142 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
216: invokevirtual #1145 // Method com/mojang/blaze3d/vertex/PoseStack.m_85836_:()V
219: aload_0
220: invokevirtual #1142 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
223: iload 17
225: i2f
226: iload 18
228: i2f
229: fconst_0
230: invokevirtual #1149 // Method com/mojang/blaze3d/vertex/PoseStack.m_252880_:(FFF)V
233: aload_0
234: invokevirtual #1142 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
237: fload 7
239: fload 7
241: fconst_1
242: invokevirtual #1152 // Method com/mojang/blaze3d/vertex/PoseStack.m_85841_:(FFF)V
245: aload_0
246: aload_2
247: iconst_0
248: iconst_0
249: invokevirtual #1309 // Method net/minecraft/client/gui/GuiGraphics.m_280480_:(Lnet/minecraft/world/item/ItemStack;II)V
252: aload_0
253: invokevirtual #1142 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
256: invokevirtual #1159 // Method com/mojang/blaze3d/vertex/PoseStack.m_85849_:()V
259: iload 17
261: iload 10
263: iadd
264: bipush 8
266: iadd
267: istore 19
269: iload 5
271: ifeq 280
274: ldc_w #1310 // int 16733525
277: goto 283
280: ldc_w #1311 // int 16777215
283: istore 20
285: aload_0
286: invokevirtual #1142 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
289: invokevirtual #1145 // Method com/mojang/blaze3d/vertex/PoseStack.m_85836_:()V
292: aload_0
293: invokevirtual #1142 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
296: iload 19
298: i2f
299: iload 16
301: i2f
302: iload 14
304: aload_1
305: getfield #1285 // Field net/minecraft/client/Minecraft.f_91062_:Lnet/minecraft/client/gui/Font;
308: invokestatic #1297 // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
311: pop
312: ldc_w #1298 // float 9.0f
315: fload 8
317: fmul
318: invokestatic #1281 // Method java/lang/Math.round:(F)I
321: isub
322: i2f
323: fconst_2
324: fdiv
325: fadd
326: fconst_0
327: invokevirtual #1149 // Method com/mojang/blaze3d/vertex/PoseStack.m_252880_:(FFF)V
330: aload_0
331: invokevirtual #1142 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
334: fload 8
336: fload 8
338: fconst_1
339: invokevirtual #1152 // Method com/mojang/blaze3d/vertex/PoseStack.m_85841_:(FFF)V
342: aload_0
343: aload_1
344: getfield #1285 // Field net/minecraft/client/Minecraft.f_91062_:Lnet/minecraft/client/gui/Font;
347: aload_3
348: iconst_0
349: iconst_0
350: iload 20
352: iconst_1
353: invokevirtual #1305 // Method net/minecraft/client/gui/GuiGraphics.m_280056_:(Lnet/minecraft/client/gui/Font;Ljava/lang/String;IIIZ)I
356: pop
357: aload_0
358: invokevirtual #1142 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
361: invokevirtual #1159 // Method com/mojang/blaze3d/vertex/PoseStack.m_85849_:()V
364: aload_0
365: invokevirtual #1142 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
368: invokevirtual #1145 // Method com/mojang/blaze3d/vertex/PoseStack.m_85836_:()V
371: aload_0
372: invokevirtual #1142 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
375: iload 19
377: iload 11
379: iadd
380: iconst_3
381: iadd
382: i2f
383: iload 16
385: i2f
386: iload 14
388: aload_1
389: getfield #1285 // Field net/minecraft/client/Minecraft.f_91062_:Lnet/minecraft/client/gui/Font;
392: invokestatic #1297 // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
395: pop
396: ldc_w #1298 // float 9.0f
399: fload 9
401: fmul
402: invokestatic #1281 // Method java/lang/Math.round:(F)I
405: isub
406: i2f
407: fconst_2
408: fdiv
409: fadd
410: fconst_0
411: invokevirtual #1149 // Method com/mojang/blaze3d/vertex/PoseStack.m_252880_:(FFF)V
414: aload_0
415: invokevirtual #1142 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
418: fload 9
420: fload 9
422: fconst_1
423: invokevirtual #1152 // Method com/mojang/blaze3d/vertex/PoseStack.m_85841_:(FFF)V
426: aload_0
427: aload_1
428: getfield #1285 // Field net/minecraft/client/Minecraft.f_91062_:Lnet/minecraft/client/gui/Font;
431: aload 4
433: iconst_0
434: iconst_0
435: ldc_w #1312 // int 11184810
438: iconst_1
439: invokevirtual #1305 // Method net/minecraft/client/gui/GuiGraphics.m_280056_:(Lnet/minecraft/client/gui/Font;Ljava/lang/String;IIIZ)I
442: pop
443: aload_0
444: invokevirtual #1142 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack;
447: invokevirtual #1159 // Method com/mojang/blaze3d/vertex/PoseStack.m_85849_:()V
450: return
private static net.minecraft.world.item.ItemStack nailIconStack();
Code:
0: getstatic #1335 // Field nailIconResolved:Z
3: ifne 46
6: iconst_1
7: putstatic #1335 // Field nailIconResolved:Z
10: getstatic #1252 // Field net/minecraftforge/registries/ForgeRegistries.ITEMS:Lnet/minecraftforge/registries/IForgeRegistry;
13: getstatic #1246 // Field NAIL_ITEM_ID:Lnet/minecraft/resources/ResourceLocation;
16: invokeinterface #1339, 2 // InterfaceMethod net/minecraftforge/registries/IForgeRegistry.getValue:(Lnet/minecraft/resources/ResourceLocation;)Ljava/lang/Object;
21: checkcast #1268 // class net/minecraft/world/item/Item
24: astore_0
25: aload_0
26: ifnonnull 35
29: getstatic #1342 // Field net/minecraft/world/item/ItemStack.f_41583_:Lnet/minecraft/world/item/ItemStack;
32: goto 43
35: new #159 // class net/minecraft/world/item/ItemStack
38: dup
39: aload_0
40: invokespecial #1345 // Method net/minecraft/world/item/ItemStack."<init>":(Lnet/minecraft/world/level/ItemLike;)V
43: putstatic #1347 // Field cachedNailIcon:Lnet/minecraft/world/item/ItemStack;
46: getstatic #1347 // Field cachedNailIcon:Lnet/minecraft/world/item/ItemStack;
49: areturn
private static net.minecraft.world.item.ItemStack tacticalBoltIconStack();
Code:
0: getstatic #1351 // Field cachedTacticalBoltIcon:Lnet/minecraft/world/item/ItemStack;
3: invokevirtual #629 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z
6: ifeq 28
9: new #159 // class net/minecraft/world/item/ItemStack
12: dup
13: getstatic #1266 // Field com/ogaba/sa_combat/registry/ModItems.TACTICAL_BOLT:Lnet/minecraftforge/registries/RegistryObject;
16: invokevirtual #526 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object;
19: checkcast #1353 // class net/minecraft/world/level/ItemLike
22: invokespecial #1345 // Method net/minecraft/world/item/ItemStack."<init>":(Lnet/minecraft/world/level/ItemLike;)V
25: putstatic #1351 // Field cachedTacticalBoltIcon:Lnet/minecraft/world/item/ItemStack;
28: getstatic #1351 // Field cachedTacticalBoltIcon:Lnet/minecraft/world/item/ItemStack;
31: areturn
private static net.minecraft.world.item.ItemStack improvisedBoltIconStack();
Code:
0: getstatic #1355 // Field cachedImprovisedBoltIcon:Lnet/minecraft/world/item/ItemStack;
3: invokevirtual #629 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z
6: ifeq 28
9: new #159 // class net/minecraft/world/item/ItemStack
12: dup
13: getstatic #1275 // Field com/ogaba/sa_combat/registry/ModItems.IMPROVISED_BOLT:Lnet/minecraftforge/registries/RegistryObject;
16: invokevirtual #526 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object;
19: checkcast #1353 // class net/minecraft/world/level/ItemLike
22: invokespecial #1345 // Method net/minecraft/world/item/ItemStack."<init>":(Lnet/minecraft/world/level/ItemLike;)V
25: putstatic #1355 // Field cachedImprovisedBoltIcon:Lnet/minecraft/world/item/ItemStack;
28: getstatic #1355 // Field cachedImprovisedBoltIcon:Lnet/minecraft/world/item/ItemStack;
31: areturn
private static void renderRealSpyglassOverlay(net.minecraft.client.gui.GuiGraphics);
Code:
0: invokestatic #144 // Method net/minecraft/client/Minecraft.m_91087_:()Lnet/minecraft/client/Minecraft;
3: astore_1
4: invokestatic #1362 // Method vanillaSpyglassScopeScale:()F
7: fstore_2
8: getstatic #1364 // Field renderSpyglassOverlayMethod:Ljava/lang/reflect/Method;
11: ifnonnull 53
14: aload_1
15: getfield #1368 // Field net/minecraft/client/Minecraft.f_91065_:Lnet/minecraft/client/gui/Gui;
18: invokevirtual #1372 // Method java/lang/Object.getClass:()Ljava/lang/Class;
21: ldc_w #1374 // String renderSpyglassOverlay
24: iconst_2
25: anewarray #1376 // class java/lang/Class
28: dup
29: iconst_0
30: ldc_w #1059 // class net/minecraft/client/gui/GuiGraphics
33: aastore
34: dup
35: iconst_1
36: getstatic #1382 // Field java/lang/Float.TYPE:Ljava/lang/Class;
39: aastore
40: invokevirtual #1386 // Method java/lang/Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
43: putstatic #1364 // Field renderSpyglassOverlayMethod:Ljava/lang/reflect/Method;
46: getstatic #1364 // Field renderSpyglassOverlayMethod:Ljava/lang/reflect/Method;
49: iconst_1
50: invokevirtual #1391 // Method java/lang/reflect/Method.setAccessible:(Z)V
53: getstatic #1364 // Field renderSpyglassOverlayMethod:Ljava/lang/reflect/Method;
56: aload_1
57: getfield #1368 // Field net/minecraft/client/Minecraft.f_91065_:Lnet/minecraft/client/gui/Gui;
60: iconst_2
61: anewarray #4 // class java/lang/Object
64: dup
65: iconst_0
66: aload_0
67: aastore
68: dup
69: iconst_1
70: fload_2
71: invokestatic #1394 // Method java/lang/Float.valueOf:(F)Ljava/lang/Float;
74: aastore
75: invokevirtual #1398 // Method java/lang/reflect/Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
78: pop
79: return
80: astore_3
81: aload_0
82: fload_2
83: invokestatic #1404 // Method renderVanillaSpyglassOverlayFallback:(Lnet/minecraft/client/gui/GuiGraphics;F)V
86: return
Exception table:
from to target type
8 79 80 Class java/lang/ReflectiveOperationException
8 79 80 Class java/lang/RuntimeException
private static float vanillaSpyglassScopeScale();
Code:
0: invokestatic #1410 // Method easedScopeProgress:()F
3: ldc_w #262 // float 0.5f
6: ldc_w #1411 // float 1.125f
9: invokestatic #256 // Method net/minecraft/util/Mth.m_14179_:(FFF)F
12: freturn
private static float easedScopeProgress();
Code:
0: getstatic #1051 // Field tacticalScopeProgress:F
3: fconst_0
4: fconst_1
5: invokestatic #238 // Method net/minecraft/util/Mth.m_14036_:(FFF)F
8: fstore_0
9: fload_0
10: fload_0
11: fmul
12: ldc_w #271 // float 3.0f
15: fconst_2
16: fload_0
17: fmul
18: fsub
19: fmul
20: freturn
private static void renderVanillaSpyglassOverlayFallback(net.minecraft.client.gui.GuiGraphics, float);
Code:
0: aload_0
1: invokevirtual #1091 // Method net/minecraft/client/gui/GuiGraphics.m_280182_:()I
4: istore_2
5: aload_0
6: invokevirtual #1094 // Method net/minecraft/client/gui/GuiGraphics.m_280206_:()I
9: istore_3
10: iload_2
11: ifle 18
14: iload_3
15: ifgt 19
18: return
19: iload_2
20: iload_3
21: invokestatic #1414 // Method java/lang/Math.min:(II)I
24: i2f
25: fstore 4
27: iload_2
28: i2f
29: fload 4
31: fdiv
32: iload_3
33: i2f
34: fload 4
36: fdiv
37: invokestatic #1417 // Method java/lang/Math.min:(FF)F
40: fload_1
41: fmul
42: fstore 5
44: fload 4
46: fload 5
48: fmul
49: invokestatic #1084 // Method net/minecraft/util/Mth.m_14143_:(F)I
52: istore 6
54: fload 4
56: fload 5
58: fmul
59: invokestatic #1084 // Method net/minecraft/util/Mth.m_14143_:(F)I
62: istore 7
64: iload_2
65: iload 6
67: isub
68: iconst_2
69: idiv
70: istore 8
72: iload_3
73: iload 7
75: isub
76: iconst_2
77: idiv
78: istore 9
80: iload 8
82: iload 6
84: iadd
85: istore 10
87: iload 9
89: iload 7
91: iadd
92: istore 11
94: invokestatic #1420 // Method com/mojang/blaze3d/systems/RenderSystem.disableDepthTest:()V
97: iconst_0
98: invokestatic #1423 // Method com/mojang/blaze3d/systems/RenderSystem.depthMask:(Z)V
101: invokestatic #1099 // Method com/mojang/blaze3d/systems/RenderSystem.enableBlend:()V
104: invokestatic #1102 // Method com/mojang/blaze3d/systems/RenderSystem.defaultBlendFunc:()V
107: aload_0
108: getstatic #1425 // Field VANILLA_SPYGLASS_SCOPE:Lnet/minecraft/resources/ResourceLocation;
111: iload 8
113: iload 9
115: bipush -90
117: fconst_0
118: fconst_0
119: iload 6
121: iload 7
123: iload 6
125: iload 7
127: invokevirtual #1429 // Method net/minecraft/client/gui/GuiGraphics.m_280398_:(Lnet/minecraft/resources/ResourceLocation;IIIFFIIII)V
130: aload_0
131: invokestatic #1435 // Method net/minecraft/client/renderer/RenderType.m_286086_:()Lnet/minecraft/client/renderer/RenderType;
134: iconst_0
135: iload 11
137: iload_2
138: iload_3
139: bipush -90
141: ldc_w #1436 // int -16777216
144: invokevirtual #1440 // Method net/minecraft/client/gui/GuiGraphics.m_285795_:(Lnet/minecraft/client/renderer/RenderType;IIIIII)V
147: aload_0
148: invokestatic #1435 // Method net/minecraft/client/renderer/RenderType.m_286086_:()Lnet/minecraft/client/renderer/RenderType;
151: iconst_0
152: iconst_0
153: iload_2
154: iload 9
156: bipush -90
158: ldc_w #1436 // int -16777216
161: invokevirtual #1440 // Method net/minecraft/client/gui/GuiGraphics.m_285795_:(Lnet/minecraft/client/renderer/RenderType;IIIIII)V
164: aload_0
165: invokestatic #1435 // Method net/minecraft/client/renderer/RenderType.m_286086_:()Lnet/minecraft/client/renderer/RenderType;
168: iconst_0
169: iload 9
171: iload 8
173: iload 11
175: bipush -90
177: ldc_w #1436 // int -16777216
180: invokevirtual #1440 // Method net/minecraft/client/gui/GuiGraphics.m_285795_:(Lnet/minecraft/client/renderer/RenderType;IIIIII)V
183: aload_0
184: invokestatic #1435 // Method net/minecraft/client/renderer/RenderType.m_286086_:()Lnet/minecraft/client/renderer/RenderType;
187: iload 10
189: iload 9
191: iload_2
192: iload 11
194: bipush -90
196: ldc_w #1436 // int -16777216
199: invokevirtual #1440 // Method net/minecraft/client/gui/GuiGraphics.m_285795_:(Lnet/minecraft/client/renderer/RenderType;IIIIII)V
202: iconst_1
203: invokestatic #1423 // Method com/mojang/blaze3d/systems/RenderSystem.depthMask:(Z)V
206: invokestatic #1102 // Method com/mojang/blaze3d/systems/RenderSystem.defaultBlendFunc:()V
209: invokestatic #1443 // Method com/mojang/blaze3d/systems/RenderSystem.enableDepthTest:()V
212: return
public static void onClientLoggingIn(net.minecraftforge.client.event.ClientPlayerNetworkEvent$LoggingIn);
Code:
0: invokestatic #1457 // Method resetClientSessionState:()V
3: return
public static void onClientLoggingOut(net.minecraftforge.client.event.ClientPlayerNetworkEvent$LoggingOut);
Code:
0: invokestatic #1457 // Method resetClientSessionState:()V
3: return
private static void resetClientSessionState();
Code:
0: iconst_0
1: iconst_0
2: invokestatic #1465 // Method com/ogaba/sa_combat/client/armor/ClientBallisticProtectionData.set:(II)V
5: fconst_0
6: putstatic #1051 // Field tacticalScopeProgress:F
9: aconst_null
10: putstatic #1364 // Field renderSpyglassOverlayMethod:Ljava/lang/reflect/Method;
13: iconst_0
14: putstatic #555 // Field nailGunTriggerWasDown:Z
17: fconst_0
18: putstatic #557 // Field nailGunAutoFireAccumulator:F
21: ldc2_w #490 // long -9223372036854775808l
24: putstatic #493 // Field thirdPersonNailGunStackId:J
27: iconst_0
28: putstatic #495 // Field thirdPersonNailGunReloadWasActive:Z
31: iconst_0
32: putstatic #434 // Field crossbowCycleWasDown:Z
35: ldc_w #1466 // int -2147483648
38: putstatic #1223 // Field cachedInventoryPlayerId:I
41: ldc_w #1466 // int -2147483648
44: putstatic #1228 // Field cachedInventoryTick:I
47: invokestatic #1469 // Method com/ogaba/sa_combat/item/SpecialGrenadeItem.clearClientAnimationState:()V
50: invokestatic #1470 // Method com/ogaba/sa_combat/combat/weapon/NailGunItem.clearClientAnimationState:()V
53: invokestatic #1473 // Method com/ogaba/sa_combat/client/render/NailGunAimClient.reset:()V
56: invokestatic #1478 // Method com/ogaba/sa_combat/client/render/NailGunCameraAnimation.resetImmediately:()V
59: invokestatic #1481 // Method com/ogaba/sa_combat/client/effect/NailHoleManager.clear:()V
62: invokestatic #1484 // Method com/ogaba/sa_combat/client/sound/ChainsawSoundManager.stop:()V
65: return
private static net.minecraft.resources.ResourceLocation rl(java.lang.String);
Code:
0: new #1022 // class net/minecraft/resources/ResourceLocation
3: dup
4: ldc_w #1487 // String sa_combat
7: aload_0
8: invokespecial #1490 // Method net/minecraft/resources/ResourceLocation."<init>":(Ljava/lang/String;Ljava/lang/String;)V
11: areturn
static {};
Code:
0: ldc_w #1494 // String textures/gui/hud/ballistic_vest_bg.png
3: invokestatic #1496 // Method rl:(Ljava/lang/String;)Lnet/minecraft/resources/ResourceLocation;
6: putstatic #1154 // Field BALLISTIC_VEST_BG:Lnet/minecraft/resources/ResourceLocation;
9: ldc_w #1498 // String textures/gui/hud/ballistic_vest_fill.png
12: invokestatic #1496 // Method rl:(Ljava/lang/String;)Lnet/minecraft/resources/ResourceLocation;
15: putstatic #1156 // Field BALLISTIC_VEST_FILL:Lnet/minecraft/resources/ResourceLocation;
18: ldc_w #1500 // String textures/gui/hud/grenade_fuse_frame.png
21: invokestatic #1496 // Method rl:(Ljava/lang/String;)Lnet/minecraft/resources/ResourceLocation;
24: putstatic #1110 // Field GRENADE_FUSE_FRAME:Lnet/minecraft/resources/ResourceLocation;
27: ldc_w #1502 // String textures/gui/hud/compound_bow_power_fill.png
30: invokestatic #1496 // Method rl:(Ljava/lang/String;)Lnet/minecraft/resources/ResourceLocation;
33: putstatic #1104 // Field GRENADE_FUSE_FILL:Lnet/minecraft/resources/ResourceLocation;
36: new #1022 // class net/minecraft/resources/ResourceLocation
39: dup
40: ldc_w #1503 // String minecraft
43: ldc_w #1505 // String textures/misc/spyglass_scope.png
46: invokespecial #1490 // Method net/minecraft/resources/ResourceLocation."<init>":(Ljava/lang/String;Ljava/lang/String;)V
49: putstatic #1425 // Field VANILLA_SPYGLASS_SCOPE:Lnet/minecraft/resources/ResourceLocation;
52: new #1022 // class net/minecraft/resources/ResourceLocation
55: dup
56: ldc_w #1507 // String sa_core
59: ldc_w #1509 // String nails
62: invokespecial #1490 // Method net/minecraft/resources/ResourceLocation."<init>":(Ljava/lang/String;Ljava/lang/String;)V
65: putstatic #1246 // Field NAIL_ITEM_ID:Lnet/minecraft/resources/ResourceLocation;
68: ldc2_w #490 // long -9223372036854775808l
71: putstatic #493 // Field thirdPersonNailGunStackId:J
74: ldc_w #1466 // int -2147483648
77: putstatic #1223 // Field cachedInventoryPlayerId:I
80: ldc_w #1466 // int -2147483648
83: putstatic #1228 // Field cachedInventoryTick:I
86: getstatic #1342 // Field net/minecraft/world/item/ItemStack.f_41583_:Lnet/minecraft/world/item/ItemStack;
89: putstatic #1347 // Field cachedNailIcon:Lnet/minecraft/world/item/ItemStack;
92: getstatic #1342 // Field net/minecraft/world/item/ItemStack.f_41583_:Lnet/minecraft/world/item/ItemStack;
95: putstatic #1351 // Field cachedTacticalBoltIcon:Lnet/minecraft/world/item/ItemStack;
98: getstatic #1342 // Field net/minecraft/world/item/ItemStack.f_41583_:Lnet/minecraft/world/item/ItemStack;
101: putstatic #1355 // Field cachedImprovisedBoltIcon:Lnet/minecraft/world/item/ItemStack;
104: return
}
==================== 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<com.ogaba.sa_combat.combat.weapon.SAWeaponItem> {
private static final java.util.Map<net.minecraft.resources.ResourceLocation, java.lang.Boolean> RESOURCE_EXISTS_CACHE;
private static final java.util.Map<net.minecraft.resources.ResourceLocation, java.util.List<java.lang.String>> ATTACHMENT_BONE_CANDIDATES_CACHE;
private static final java.util.Map<com.ogaba.sa_combat.combat.weapon.SAWeaponItem, java.lang.String> ITEM_PATH_CACHE;
private static final java.util.Map<java.lang.String, net.minecraft.resources.ResourceLocation> MODEL_RESOURCE_CACHE;
private static final java.util.Map<java.lang.String, net.minecraft.resources.ResourceLocation> TEXTURE_RESOURCE_CACHE;
private static final java.util.Map<java.lang.String, net.minecraft.resources.ResourceLocation> ANIMATION_RESOURCE_CACHE;
private net.minecraft.world.item.ItemStack currentRenderStack;
private static final java.util.List<java.lang.String> ELECTRIC_FX_BONES;
private static final int ELECTRIC_FX_FRAME_TIME_TICKS;
private static final java.util.List<java.lang.String> CROSSBOW_PROJECTILE_BONES;
private static volatile int dynamicBoneCacheGeneration;
private int observedDynamicBoneCacheGeneration;
private final java.util.Map<java.lang.String, java.util.List<java.lang.String>> supportedAttachmentBonesByModel;
private final java.util.Map<java.lang.String, java.util.List<java.lang.String>> 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."<init>":()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."<init>":()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."<init>":()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<com.ogaba.sa_combat.combat.weapon.SAWeaponItem>);
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<java.lang.String> 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<java.lang.String> 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<java.lang.String> 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<java.lang.String> 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<java.lang.String> 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."<init>":(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."<init>":(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."<init>":(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."<init>":()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."<init>":(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."<init>":(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."<init>":(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."<init>":(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."<init>":()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."<init>":()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."<init>":()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."<init>":()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."<init>":()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."<init>":()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."<init>":()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<java.lang.Long, java.lang.Long> CLIENT_SHOOT_ANIM_START;
private static final java.util.Map<java.lang.Long, java.lang.Long> CLIENT_LAST_HANDLED_SHOT;
private static final java.util.Map<java.lang.Long, java.lang.Long> CLIENT_LAST_HAND_RENDER;
private static final java.util.Map<java.lang.Long, java.lang.Long> CLIENT_DRAW_ANIM_START;
private static final java.util.Map<java.lang.Long, java.lang.Long> CLIENT_LAST_HANDLED_DRAW;
private static final java.util.Map<java.lang.Long, java.lang.Long> CLIENT_RELOAD_ANIM_START;
private static final java.util.Map<java.lang.Long, java.lang.Long> 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."<init>":(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<net.minecraft.world.entity.ai.attributes.Attribute, net.minecraft.world.entity.ai.attributes.AttributeModifier> 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<net.minecraft.world.entity.ai.attributes.Attribute, net.minecraft.world.entity.ai.attributes.AttributeModifier> 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<net.minecraft.world.item.ItemStack> 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."<init>":(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."<init>":(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.lang.Long, java.lang.Long>, java.util.Map<java.lang.Long, java.lang.Long>, software.bernie.geckolib.core.animation.AnimationController<com.ogaba.sa_combat.combat.weapon.NailGunItem>);
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."<init>":(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."<init>":(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."<init>":()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."<init>":()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."<init>":()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."<init>":()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."<init>":()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."<init>":()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."<init>":()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 "<init>":(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."<init>":()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 "<init>":(Lnet/minecraft/world/InteractionHand;F)V
20: areturn
public static void handle(com.ogaba.sa_combat.network.packet.FireNailGunC2SPacket, java.util.function.Supplier<net.minecraftforge.network.NetworkEvent$Context>);
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
}