Files
2026-10-09 18:08:05 +08:00

2455 lines
127 KiB
Plaintext

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
}