==================== com.ogaba.sa_combat.client.tooltip.BlueprintClientTooltipComponent ==================== Compiled from "BlueprintClientTooltipComponent.java" public class com.ogaba.sa_combat.client.tooltip.BlueprintClientTooltipComponent implements net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipComponent { private static final net.minecraft.resources.ResourceLocation BLUEPRINT_BG; private static final int WIDTH; private static final int HEIGHT; private static final int PADDING; private static final int BG_TEXTURE_W; private static final int BG_TEXTURE_H; private static final int BG_RENDER_W; private static final int BG_RENDER_H; private final com.ogaba.sa_combat.item.BlueprintTooltipComponent data; private net.minecraft.world.item.ItemStack cachedResult; private boolean resolved; public com.ogaba.sa_combat.client.tooltip.BlueprintClientTooltipComponent(com.ogaba.sa_combat.item.BlueprintTooltipComponent); Code: 0: aload_0 1: invokespecial #47 // Method java/lang/Object."":()V 4: aload_0 5: getstatic #52 // Field net/minecraft/world/item/ItemStack.f_41583_:Lnet/minecraft/world/item/ItemStack; 8: putfield #54 // Field cachedResult:Lnet/minecraft/world/item/ItemStack; 11: aload_0 12: aload_1 13: putfield #56 // Field data:Lcom/ogaba/sa_combat/item/BlueprintTooltipComponent; 16: return public int m_142103_(); Code: 0: bipush 88 2: ireturn public int m_142069_(net.minecraft.client.gui.Font); Code: 0: sipush 250 3: ireturn public void m_183452_(net.minecraft.client.gui.Font, int, int, net.minecraft.client.gui.GuiGraphics); Code: 0: aload_0 1: invokevirtual #70 // Method resolveResultStack:()Lnet/minecraft/world/item/ItemStack; 4: astore 5 6: iload_2 7: iconst_4 8: iadd 9: istore 6 11: iload_3 12: bipush 8 14: iadd 15: istore 7 17: aload_0 18: aload 4 20: iload 6 22: iload 7 24: invokevirtual #74 // Method renderBlueprintBackground:(Lnet/minecraft/client/gui/GuiGraphics;II)V 27: aload_0 28: aload 4 30: aload 5 32: iload 6 34: iload 7 36: invokevirtual #78 // Method renderResultItem:(Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/world/item/ItemStack;II)V 39: iload 6 41: bipush 82 43: iadd 44: bipush 9 46: iadd 47: istore 8 49: iload_3 50: bipush 10 52: iadd 53: istore 9 55: sipush 250 58: iload 8 60: iload_2 61: isub 62: isub 63: iconst_4 64: isub 65: iconst_2 66: isub 67: istore 10 69: aload 5 71: invokevirtual #82 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 74: ifeq 125 77: aload 4 79: aload_1 80: aload_0 81: ldc #84 // String tooltip.sa_combat.blueprint.unknown 83: ldc #86 // String Unknown Unlock 85: invokevirtual #90 // Method tr:(Ljava/lang/String;Ljava/lang/String;)Lnet/minecraft/network/chat/Component; 88: iload 8 90: iload 9 92: ldc #91 // int 15724527 94: iconst_0 95: invokevirtual #97 // Method net/minecraft/client/gui/GuiGraphics.m_280614_:(Lnet/minecraft/client/gui/Font;Lnet/minecraft/network/chat/Component;IIIZ)I 98: pop 99: aload 4 101: aload_1 102: aload_0 103: ldc #99 // String tooltip.sa_combat.blueprint.check_data 105: ldc #101 // String Check blueprint data 107: invokevirtual #90 // Method tr:(Ljava/lang/String;Ljava/lang/String;)Lnet/minecraft/network/chat/Component; 110: iload 8 112: iload 9 114: bipush 12 116: iadd 117: ldc #102 // int 9211020 119: iconst_0 120: invokevirtual #97 // Method net/minecraft/client/gui/GuiGraphics.m_280614_:(Lnet/minecraft/client/gui/Font;Lnet/minecraft/network/chat/Component;IIIZ)I 123: pop 124: return 125: aload_0 126: getfield #56 // Field data:Lcom/ogaba/sa_combat/item/BlueprintTooltipComponent; 129: invokevirtual #110 // Method com/ogaba/sa_combat/item/BlueprintTooltipComponent.rarity:()Ljava/lang/String; 132: invokestatic #114 // Method prettyRarity:(Ljava/lang/String;)Ljava/lang/String; 135: astore 11 137: aload 11 139: invokevirtual #119 // Method java/lang/String.isBlank:()Z 142: ifeq 149 145: iconst_0 146: goto 157 149: aload_1 150: aload 11 152: invokevirtual #123 // Method net/minecraft/client/gui/Font.m_92895_:(Ljava/lang/String;)I 155: iconst_4 156: iadd 157: istore 12 159: aload_1 160: aload 5 162: invokevirtual #127 // Method net/minecraft/world/item/ItemStack.m_41786_:()Lnet/minecraft/network/chat/Component; 165: invokeinterface #132, 1 // InterfaceMethod net/minecraft/network/chat/Component.getString:()Ljava/lang/String; 170: bipush 32 172: iload 10 174: iload 12 176: isub 177: invokestatic #138 // Method java/lang/Math.max:(II)I 180: invokestatic #142 // Method trimToWidth:(Lnet/minecraft/client/gui/Font;Ljava/lang/String;I)Ljava/lang/String; 183: astore 13 185: aload 4 187: aload_1 188: aload 13 190: iload 8 192: iload 9 194: ldc #143 // int 16777215 196: iconst_0 197: invokevirtual #147 // Method net/minecraft/client/gui/GuiGraphics.m_280056_:(Lnet/minecraft/client/gui/Font;Ljava/lang/String;IIIZ)I 200: pop 201: aload 11 203: invokevirtual #119 // Method java/lang/String.isBlank:()Z 206: ifne 243 209: aload 4 211: aload_1 212: aload 11 214: iload 8 216: iload 10 218: iadd 219: aload_1 220: aload 11 222: invokevirtual #123 // Method net/minecraft/client/gui/Font.m_92895_:(Ljava/lang/String;)I 225: isub 226: iload 9 228: aload_0 229: getfield #56 // Field data:Lcom/ogaba/sa_combat/item/BlueprintTooltipComponent; 232: invokevirtual #110 // Method com/ogaba/sa_combat/item/BlueprintTooltipComponent.rarity:()Ljava/lang/String; 235: invokestatic #150 // Method rarityColor:(Ljava/lang/String;)I 238: iconst_0 239: invokevirtual #147 // Method net/minecraft/client/gui/GuiGraphics.m_280056_:(Lnet/minecraft/client/gui/Font;Ljava/lang/String;IIIZ)I 242: pop 243: iinc 9, 12 246: aload 4 248: aload_1 249: aload_0 250: ldc #152 // String tooltip.sa_combat.blueprint.unlock 252: ldc #154 // String Unlock 254: invokevirtual #90 // Method tr:(Ljava/lang/String;Ljava/lang/String;)Lnet/minecraft/network/chat/Component; 257: iload 8 259: iload 9 261: ldc #155 // int 7788287 263: iconst_0 264: invokevirtual #97 // Method net/minecraft/client/gui/GuiGraphics.m_280614_:(Lnet/minecraft/client/gui/Font;Lnet/minecraft/network/chat/Component;IIIZ)I 267: pop 268: iinc 9, 12 271: aload 5 273: invokevirtual #159 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item; 276: instanceof #161 // class com/ogaba/sa_combat/combat/weapon/BaseMeleeWeapon 279: ifeq 318 282: aload_0 283: aload_1 284: aload 4 286: aload 5 288: iload 8 290: iload 9 292: iload 10 294: invokevirtual #165 // Method drawCompactWeaponStats:(Lnet/minecraft/client/gui/Font;Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/world/item/ItemStack;III)V 297: iinc 9, 13 300: aload_0 301: aload_1 302: aload 4 304: aload 5 306: iload 8 308: iload 9 310: iload 10 312: invokevirtual #168 // Method drawCompactAbilitySummary:(Lnet/minecraft/client/gui/Font;Lnet/minecraft/client/gui/GuiGraphics;Lnet/minecraft/world/item/ItemStack;III)V 315: goto 340 318: aload 4 320: aload_1 321: aload_0 322: ldc #170 // String tooltip.sa_combat.blueprint.recipe_unlock 324: ldc #172 // String Recipe Unlock 326: invokevirtual #90 // Method tr:(Ljava/lang/String;Ljava/lang/String;)Lnet/minecraft/network/chat/Component; 329: iload 8 331: iload 9 333: ldc #173 // int 12115967 335: iconst_0 336: invokevirtual #97 // Method net/minecraft/client/gui/GuiGraphics.m_280614_:(Lnet/minecraft/client/gui/Font;Lnet/minecraft/network/chat/Component;IIIZ)I 339: pop 340: return private net.minecraft.world.item.ItemStack resolveResultStack(); Code: 0: aload_0 1: getfield #188 // Field resolved:Z 4: ifeq 12 7: aload_0 8: getfield #54 // Field cachedResult:Lnet/minecraft/world/item/ItemStack; 11: areturn 12: aload_0 13: iconst_1 14: putfield #188 // Field resolved:Z 17: aload_0 18: aload_0 19: getfield #56 // Field data:Lcom/ogaba/sa_combat/item/BlueprintTooltipComponent; 22: invokestatic #194 // Method com/ogaba/sa_combat/client/tooltip/BlueprintPreviewResolverFromData.resolve:(Lcom/ogaba/sa_combat/item/BlueprintTooltipComponent;)Lnet/minecraft/world/item/ItemStack; 25: putfield #54 // Field cachedResult:Lnet/minecraft/world/item/ItemStack; 28: aload_0 29: getfield #54 // Field cachedResult:Lnet/minecraft/world/item/ItemStack; 32: areturn private void renderBlueprintBackground(net.minecraft.client.gui.GuiGraphics, int, int); Code: 0: ldc #195 // float 1.28125f 2: fstore 4 4: ldc #196 // float 1.2745098f 6: fstore 5 8: aload_1 9: invokevirtual #200 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack; 12: invokevirtual #205 // Method com/mojang/blaze3d/vertex/PoseStack.m_85836_:()V 15: aload_1 16: invokevirtual #200 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack; 19: iload_2 20: i2f 21: iload_3 22: i2f 23: fconst_0 24: invokevirtual #209 // Method com/mojang/blaze3d/vertex/PoseStack.m_252880_:(FFF)V 27: aload_1 28: invokevirtual #200 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack; 31: fload 4 33: fload 5 35: fconst_1 36: invokevirtual #212 // Method com/mojang/blaze3d/vertex/PoseStack.m_85841_:(FFF)V 39: aload_1 40: getstatic #214 // Field BLUEPRINT_BG:Lnet/minecraft/resources/ResourceLocation; 43: iconst_0 44: iconst_0 45: fconst_0 46: fconst_0 47: bipush 64 49: bipush 51 51: bipush 64 53: bipush 51 55: invokevirtual #218 // Method net/minecraft/client/gui/GuiGraphics.m_280163_:(Lnet/minecraft/resources/ResourceLocation;IIFFIIII)V 58: aload_1 59: invokevirtual #200 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack; 62: invokevirtual #221 // Method com/mojang/blaze3d/vertex/PoseStack.m_85849_:()V 65: return private void renderResultItem(net.minecraft.client.gui.GuiGraphics, net.minecraft.world.item.ItemStack, int, int); Code: 0: aload_2 1: invokevirtual #82 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 4: ifeq 8 7: return 8: ldc #225 // float 2.85f 10: fstore 5 12: iload_3 13: i2f 14: ldc #226 // float 41.0f 16: fadd 17: ldc #227 // float 22.8f 19: fsub 20: invokestatic #231 // Method java/lang/Math.round:(F)I 23: iconst_2 24: iadd 25: istore 6 27: iload 4 29: i2f 30: ldc #232 // float 32.5f 32: fadd 33: ldc #227 // float 22.8f 35: fsub 36: invokestatic #231 // Method java/lang/Math.round:(F)I 39: iconst_2 40: iadd 41: istore 7 43: aload_1 44: invokevirtual #200 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack; 47: invokevirtual #205 // Method com/mojang/blaze3d/vertex/PoseStack.m_85836_:()V 50: aload_1 51: invokevirtual #200 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack; 54: iload 6 56: i2f 57: iload 7 59: i2f 60: ldc #233 // float 120.0f 62: invokevirtual #209 // Method com/mojang/blaze3d/vertex/PoseStack.m_252880_:(FFF)V 65: aload_1 66: invokevirtual #200 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack; 69: ldc #225 // float 2.85f 71: ldc #225 // float 2.85f 73: fconst_1 74: invokevirtual #212 // Method com/mojang/blaze3d/vertex/PoseStack.m_85841_:(FFF)V 77: aload_1 78: aload_2 79: iconst_0 80: iconst_0 81: invokevirtual #237 // Method net/minecraft/client/gui/GuiGraphics.m_280480_:(Lnet/minecraft/world/item/ItemStack;II)V 84: aload_1 85: invokevirtual #200 // Method net/minecraft/client/gui/GuiGraphics.m_280168_:()Lcom/mojang/blaze3d/vertex/PoseStack; 88: invokevirtual #221 // Method com/mojang/blaze3d/vertex/PoseStack.m_85849_:()V 91: return private void drawCompactWeaponStats(net.minecraft.client.gui.Font, net.minecraft.client.gui.GuiGraphics, net.minecraft.world.item.ItemStack, int, int, int); Code: 0: aload_0 1: aload_3 2: getstatic #246 // Field net/minecraft/world/entity/ai/attributes/Attributes.f_22281_:Lnet/minecraft/world/entity/ai/attributes/Attribute; 5: invokevirtual #250 // Method sumAttribute:(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/entity/ai/attributes/Attribute;)D 8: dstore 7 10: ldc2_w #251 // double 4.0d 13: aload_0 14: aload_3 15: getstatic #255 // Field net/minecraft/world/entity/ai/attributes/Attributes.f_22283_:Lnet/minecraft/world/entity/ai/attributes/Attribute; 18: invokevirtual #250 // Method sumAttribute:(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/entity/ai/attributes/Attribute;)D 21: dadd 22: dstore 9 24: ldc2_w #256 // double 2.5d 27: aload_0 28: aload_3 29: invokevirtual #261 // Method sumCombatRangeAttribute:(Lnet/minecraft/world/item/ItemStack;)D 32: dadd 33: dstore 11 35: iload 4 37: istore 13 39: aload_0 40: aload_1 41: aload_2 42: ldc_w #263 // String �˺� 45: dload 7 47: invokestatic #267 // Method formatNumber:(D)Ljava/lang/String; 50: iload 13 52: iload 5 54: ldc_w #268 // int -2598310 57: invokevirtual #272 // Method drawCompactStat:(Lnet/minecraft/client/gui/Font;Lnet/minecraft/client/gui/GuiGraphics;Ljava/lang/String;Ljava/lang/String;III)I 60: istore 13 62: aload_0 63: aload_1 64: aload_2 65: ldc_w #274 // String ���� 68: dload 9 70: invokestatic #267 // Method formatNumber:(D)Ljava/lang/String; 73: iload 13 75: bipush 8 77: iadd 78: iload 5 80: sipush -14249 83: invokevirtual #272 // Method drawCompactStat:(Lnet/minecraft/client/gui/Font;Lnet/minecraft/client/gui/GuiGraphics;Ljava/lang/String;Ljava/lang/String;III)I 86: istore 13 88: aload_0 89: aload_1 90: aload_2 91: ldc_w #276 // String ��� 94: dload 11 96: invokestatic #267 // Method formatNumber:(D)Ljava/lang/String; 99: iload 13 101: bipush 8 103: iadd 104: iload 5 106: ldc_w #277 // int -10106881 109: invokevirtual #272 // Method drawCompactStat:(Lnet/minecraft/client/gui/Font;Lnet/minecraft/client/gui/GuiGraphics;Ljava/lang/String;Ljava/lang/String;III)I 112: pop 113: return private int drawCompactStat(net.minecraft.client.gui.Font, net.minecraft.client.gui.GuiGraphics, java.lang.String, java.lang.String, int, int, int); Code: 0: aload_2 1: aload_1 2: aload_3 3: iload 5 5: iload 6 7: ldc_w #285 // int 11513775 10: iconst_0 11: invokevirtual #147 // Method net/minecraft/client/gui/GuiGraphics.m_280056_:(Lnet/minecraft/client/gui/Font;Ljava/lang/String;IIIZ)I 14: pop 15: iload 5 17: aload_1 18: aload_3 19: invokevirtual #123 // Method net/minecraft/client/gui/Font.m_92895_:(Ljava/lang/String;)I 22: iadd 23: iconst_3 24: iadd 25: istore 8 27: aload_2 28: aload_1 29: aload 4 31: iload 8 33: iload 6 35: ldc #143 // int 16777215 37: iconst_0 38: invokevirtual #147 // Method net/minecraft/client/gui/GuiGraphics.m_280056_:(Lnet/minecraft/client/gui/Font;Ljava/lang/String;IIIZ)I 41: pop 42: iload 8 44: aload_1 45: aload 4 47: invokevirtual #123 // Method net/minecraft/client/gui/Font.m_92895_:(Ljava/lang/String;)I 50: iadd 51: istore 9 53: aload_2 54: iload 5 56: iload 6 58: bipush 9 60: iadd 61: iload 9 63: iload 6 65: bipush 10 67: iadd 68: iload 7 70: invokevirtual #289 // Method net/minecraft/client/gui/GuiGraphics.m_280509_:(IIIII)V 73: iload 9 75: ireturn private void drawCompactAbilitySummary(net.minecraft.client.gui.Font, net.minecraft.client.gui.GuiGraphics, net.minecraft.world.item.ItemStack, int, int, int); Code: 0: aload_3 1: invokevirtual #159 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item; 4: astore 8 6: aload 8 8: instanceof #161 // class com/ogaba/sa_combat/combat/weapon/BaseMeleeWeapon 11: ifeq 29 14: aload 8 16: checkcast #161 // class com/ogaba/sa_combat/combat/weapon/BaseMeleeWeapon 19: astore 7 21: aload 7 23: invokevirtual #298 // Method com/ogaba/sa_combat/combat/weapon/BaseMeleeWeapon.getDefinition:()Lcom/ogaba/sa_combat/combat/weapon/WeaponDefinition; 26: ifnonnull 30 29: return 30: aload 7 32: invokevirtual #298 // Method com/ogaba/sa_combat/combat/weapon/BaseMeleeWeapon.getDefinition:()Lcom/ogaba/sa_combat/combat/weapon/WeaponDefinition; 35: invokevirtual #304 // Method com/ogaba/sa_combat/combat/weapon/WeaponDefinition.abilities:()Ljava/util/List; 38: astore 8 40: aload 8 42: invokeinterface #309, 1 // InterfaceMethod java/util/List.isEmpty:()Z 47: ifeq 75 50: aload_2 51: aload_1 52: aload_0 53: ldc_w #311 // String tooltip.sa_combat.blueprint.no_abilities 56: ldc_w #313 // String No abilities 59: invokevirtual #90 // Method tr:(Ljava/lang/String;Ljava/lang/String;)Lnet/minecraft/network/chat/Component; 62: iload 4 64: iload 5 66: ldc_w #314 // int 7303023 69: iconst_0 70: invokevirtual #97 // Method net/minecraft/client/gui/GuiGraphics.m_280614_:(Lnet/minecraft/client/gui/Font;Lnet/minecraft/network/chat/Component;IIIZ)I 73: pop 74: return 75: aload_2 76: aload_1 77: aload_0 78: ldc_w #316 // String tooltip.sa_combat.blueprint.on_hit 81: ldc_w #318 // String On Hit 84: invokevirtual #90 // Method tr:(Ljava/lang/String;Ljava/lang/String;)Lnet/minecraft/network/chat/Component; 87: iload 4 89: iload 5 91: ldc_w #319 // int 14271867 94: iconst_0 95: invokevirtual #97 // Method net/minecraft/client/gui/GuiGraphics.m_280614_:(Lnet/minecraft/client/gui/Font;Lnet/minecraft/network/chat/Component;IIIZ)I 98: pop 99: iload 5 101: bipush 11 103: iadd 104: istore 9 106: iconst_2 107: aload 8 109: invokeinterface #322, 1 // InterfaceMethod java/util/List.size:()I 114: invokestatic #325 // Method java/lang/Math.min:(II)I 117: istore 10 119: iconst_0 120: istore 11 122: iload 11 124: iload 10 126: if_icmpge 165 129: aload_0 130: aload_1 131: aload_2 132: aload 8 134: iload 11 136: invokeinterface #329, 2 // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object; 141: checkcast #331 // class com/ogaba/sa_combat/combat/system/AbilityInstance 144: iload 4 146: iload 9 148: iload 11 150: bipush 10 152: imul 153: iadd 154: iload 6 156: invokevirtual #335 // Method drawAbilityLine:(Lnet/minecraft/client/gui/Font;Lnet/minecraft/client/gui/GuiGraphics;Lcom/ogaba/sa_combat/combat/system/AbilityInstance;III)V 159: iinc 11, 1 162: goto 122 165: aload 8 167: invokeinterface #322, 1 // InterfaceMethod java/util/List.size:()I 172: iload 10 174: if_icmple 228 177: aload 8 179: invokeinterface #322, 1 // InterfaceMethod java/util/List.size:()I 184: iload 10 186: isub 187: invokedynamic #347, 0 // InvokeDynamic #0:makeConcatWithConstants:(I)Ljava/lang/String; 192: astore 11 194: aload_2 195: aload_1 196: aload 11 198: iload 4 200: iload 6 202: iadd 203: aload_1 204: aload 11 206: invokevirtual #123 // Method net/minecraft/client/gui/Font.m_92895_:(Ljava/lang/String;)I 209: isub 210: iload 9 212: iload 10 214: iconst_1 215: isub 216: bipush 10 218: imul 219: iadd 220: ldc_w #348 // int 7829367 223: iconst_0 224: invokevirtual #147 // Method net/minecraft/client/gui/GuiGraphics.m_280056_:(Lnet/minecraft/client/gui/Font;Ljava/lang/String;IIIZ)I 227: pop 228: return private void drawAbilityLine(net.minecraft.client.gui.Font, net.minecraft.client.gui.GuiGraphics, com.ogaba.sa_combat.combat.system.AbilityInstance, int, int, int); Code: 0: aload_3 1: invokevirtual #359 // Method com/ogaba/sa_combat/combat/system/AbilityInstance.type:()Lcom/ogaba/sa_combat/combat/system/AbilityType; 4: invokestatic #365 // Method com/ogaba/sa_combat/combat/system/SACombatTextIcons.abilityIcon:(Lcom/ogaba/sa_combat/combat/system/AbilityType;)Lnet/minecraft/network/chat/MutableComponent; 7: astore 7 9: aload_0 10: aload_3 11: invokevirtual #369 // Method abilityDisplayName:(Lcom/ogaba/sa_combat/combat/system/AbilityInstance;)Ljava/lang/String; 14: aload_3 15: invokevirtual #372 // Method com/ogaba/sa_combat/combat/system/AbilityInstance.tier:()I 18: invokestatic #377 // Method com/ogaba/sa_combat/util/TextFormatUtil.tierRoman:(I)Ljava/lang/String; 21: invokedynamic #382, 0 // InvokeDynamic #1:makeConcatWithConstants:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; 26: astore 8 28: aload_1 29: aload 8 31: bipush 20 33: iload 6 35: bipush 14 37: isub 38: invokestatic #138 // Method java/lang/Math.max:(II)I 41: invokestatic #142 // Method trimToWidth:(Lnet/minecraft/client/gui/Font;Ljava/lang/String;I)Ljava/lang/String; 44: astore 9 46: aload_2 47: aload_1 48: aload 7 50: iload 4 52: iload 5 54: iconst_m1 55: iconst_0 56: invokevirtual #97 // Method net/minecraft/client/gui/GuiGraphics.m_280614_:(Lnet/minecraft/client/gui/Font;Lnet/minecraft/network/chat/Component;IIIZ)I 59: pop 60: aload_2 61: aload_1 62: aload 9 64: iload 4 66: bipush 13 68: iadd 69: iload 5 71: aload_0 72: aload_3 73: invokevirtual #386 // Method abilityColor:(Lcom/ogaba/sa_combat/combat/system/AbilityInstance;)I 76: iconst_0 77: invokevirtual #147 // Method net/minecraft/client/gui/GuiGraphics.m_280056_:(Lnet/minecraft/client/gui/Font;Ljava/lang/String;IIIZ)I 80: pop 81: return private net.minecraft.network.chat.Component tr(java.lang.String, java.lang.String); Code: 0: aload_1 1: invokestatic #396 // InterfaceMethod net/minecraft/network/chat/Component.m_237115_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent; 4: astore_3 5: aload_3 6: invokeinterface #132, 1 // InterfaceMethod net/minecraft/network/chat/Component.getString:()Ljava/lang/String; 11: aload_1 12: invokevirtual #400 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 15: ifeq 25 18: aload_2 19: invokestatic #403 // InterfaceMethod net/minecraft/network/chat/Component.m_237113_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent; 22: goto 26 25: aload_3 26: areturn private java.lang.String abilityDisplayName(com.ogaba.sa_combat.combat.system.AbilityInstance); Code: 0: getstatic #410 // Field com/ogaba/sa_combat/client/tooltip/BlueprintClientTooltipComponent$1.$SwitchMap$com$ogaba$sa_combat$combat$system$AbilityType:[I 3: aload_1 4: invokevirtual #359 // Method com/ogaba/sa_combat/combat/system/AbilityInstance.type:()Lcom/ogaba/sa_combat/combat/system/AbilityType; 7: invokevirtual #415 // Method com/ogaba/sa_combat/combat/system/AbilityType.ordinal:()I 10: iaload 11: tableswitch { // 1 to 4 1: 48 2: 54 3: 60 4: 66 default: 40 } 40: new #417 // class java/lang/IncompatibleClassChangeError 43: dup 44: invokespecial #418 // Method java/lang/IncompatibleClassChangeError."":()V 47: athrow 48: ldc_w #420 // String ��Ѫ 51: goto 69 54: ldc_w #422 // String ��� 57: goto 69 60: ldc_w #424 // String ��� 63: goto 69 66: ldc_w #426 // String ���� 69: areturn private int abilityColor(com.ogaba.sa_combat.combat.system.AbilityInstance); Code: 0: getstatic #410 // Field com/ogaba/sa_combat/client/tooltip/BlueprintClientTooltipComponent$1.$SwitchMap$com$ogaba$sa_combat$combat$system$AbilityType:[I 3: aload_1 4: invokevirtual #359 // Method com/ogaba/sa_combat/combat/system/AbilityInstance.type:()Lcom/ogaba/sa_combat/combat/system/AbilityType; 7: invokevirtual #415 // Method com/ogaba/sa_combat/combat/system/AbilityType.ordinal:()I 10: iaload 11: tableswitch { // 1 to 4 1: 48 2: 54 3: 60 4: 66 default: 40 } 40: new #417 // class java/lang/IncompatibleClassChangeError 43: dup 44: invokespecial #418 // Method java/lang/IncompatibleClassChangeError."":()V 47: athrow 48: ldc_w #428 // int -42406 51: goto 69 54: ldc_w #429 // int -11147009 57: goto 69 60: sipush -10934 63: goto 69 66: ldc_w #430 // int -5011201 69: ireturn private double sumCombatRangeAttribute(net.minecraft.world.item.ItemStack); Code: 0: getstatic #436 // Field net/minecraftforge/registries/ForgeRegistries.ATTRIBUTES:Lnet/minecraftforge/registries/IForgeRegistry; 3: new #438 // class net/minecraft/resources/ResourceLocation 6: dup 7: ldc_w #440 // String bettercombat 10: ldc_w #442 // String attack_range 13: invokespecial #445 // Method net/minecraft/resources/ResourceLocation."":(Ljava/lang/String;Ljava/lang/String;)V 16: invokeinterface #451, 2 // InterfaceMethod net/minecraftforge/registries/IForgeRegistry.getValue:(Lnet/minecraft/resources/ResourceLocation;)Ljava/lang/Object; 21: checkcast #453 // class net/minecraft/world/entity/ai/attributes/Attribute 24: astore_2 25: aload_2 26: ifnull 36 29: aload_0 30: aload_1 31: aload_2 32: invokevirtual #250 // Method sumAttribute:(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/entity/ai/attributes/Attribute;)D 35: dreturn 36: aload_0 37: aload_1 38: getstatic #459 // Field net/minecraftforge/common/ForgeMod.ENTITY_REACH:Lnet/minecraftforge/registries/RegistryObject; 41: invokevirtual #464 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object; 44: checkcast #453 // class net/minecraft/world/entity/ai/attributes/Attribute 47: invokevirtual #250 // Method sumAttribute:(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/entity/ai/attributes/Attribute;)D 50: dreturn private double sumAttribute(net.minecraft.world.item.ItemStack, net.minecraft.world.entity.ai.attributes.Attribute); Code: 0: aload_1 1: getstatic #471 // Field net/minecraft/world/entity/EquipmentSlot.MAINHAND:Lnet/minecraft/world/entity/EquipmentSlot; 4: invokevirtual #475 // Method net/minecraft/world/item/ItemStack.m_41638_:(Lnet/minecraft/world/entity/EquipmentSlot;)Lcom/google/common/collect/Multimap; 7: aload_2 8: invokeinterface #480, 2 // InterfaceMethod com/google/common/collect/Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection; 13: invokeinterface #486, 1 // InterfaceMethod java/util/Collection.stream:()Ljava/util/stream/Stream; 18: invokedynamic #504, 0 // InvokeDynamic #2:test:()Ljava/util/function/Predicate; 23: invokeinterface #510, 2 // InterfaceMethod java/util/stream/Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream; 28: invokedynamic #523, 0 // InvokeDynamic #3:applyAsDouble:()Ljava/util/function/ToDoubleFunction; 33: invokeinterface #527, 2 // InterfaceMethod java/util/stream/Stream.mapToDouble:(Ljava/util/function/ToDoubleFunction;)Ljava/util/stream/DoubleStream; 38: invokeinterface #532, 1 // InterfaceMethod java/util/stream/DoubleStream.sum:()D 43: dreturn private static java.lang.String prettyRarity(java.lang.String); Code: 0: aload_0 1: ifnull 11 4: aload_0 5: invokevirtual #119 // Method java/lang/String.isBlank:()Z 8: ifeq 15 11: ldc_w #535 // String 14: areturn 15: aload_0 16: bipush 95 18: bipush 32 20: invokevirtual #539 // Method java/lang/String.replace:(CC)Ljava/lang/String; 23: invokevirtual #542 // Method java/lang/String.trim:()Ljava/lang/String; 26: getstatic #548 // Field java/util/Locale.ROOT:Ljava/util/Locale; 29: invokevirtual #552 // Method java/lang/String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String; 32: astore_1 33: new #554 // class java/lang/StringBuilder 36: dup 37: invokespecial #555 // Method java/lang/StringBuilder."":()V 40: astore_2 41: aload_1 42: ldc_w #557 // String 45: invokevirtual #561 // Method java/lang/String.split:(Ljava/lang/String;)[Ljava/lang/String; 48: astore_3 49: aload_3 50: arraylength 51: istore 4 53: iconst_0 54: istore 5 56: iload 5 58: iload 4 60: if_icmpge 123 63: aload_3 64: iload 5 66: aaload 67: astore 6 69: aload 6 71: invokevirtual #119 // Method java/lang/String.isBlank:()Z 74: ifeq 80 77: goto 117 80: aload_2 81: invokevirtual #566 // Method java/lang/StringBuilder.length:()I 84: ifle 94 87: aload_2 88: bipush 32 90: invokevirtual #570 // Method java/lang/StringBuilder.append:(C)Ljava/lang/StringBuilder; 93: pop 94: aload_2 95: aload 6 97: iconst_0 98: invokevirtual #574 // Method java/lang/String.charAt:(I)C 101: invokestatic #580 // Method java/lang/Character.toUpperCase:(C)C 104: invokevirtual #570 // Method java/lang/StringBuilder.append:(C)Ljava/lang/StringBuilder; 107: aload 6 109: iconst_1 110: invokevirtual #583 // Method java/lang/String.substring:(I)Ljava/lang/String; 113: invokevirtual #586 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 116: pop 117: iinc 5, 1 120: goto 56 123: aload_2 124: invokevirtual #589 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 127: areturn private static int rarityColor(java.lang.String); Code: 0: aload_0 1: ifnonnull 8 4: ldc_w #594 // int 12434877 7: ireturn 8: aload_0 9: getstatic #548 // Field java/util/Locale.ROOT:Ljava/util/Locale; 12: invokevirtual #552 // Method java/lang/String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String; 15: astore_1 16: iconst_m1 17: istore_2 18: aload_1 19: invokevirtual #597 // Method java/lang/String.hashCode:()I 22: lookupswitch { // 6 -2081562821: 140 -1354814997: 80 -840528943: 155 -468311612: 95 3119877: 125 3493026: 110 default: 167 } 80: aload_1 81: ldc_w #599 // String ��ͨ 84: invokevirtual #400 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 87: ifeq 167 90: iconst_0 91: istore_2 92: goto 167 95: aload_1 96: ldc_w #601 // String ���� 99: invokevirtual #400 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 102: ifeq 167 105: iconst_1 106: istore_2 107: goto 167 110: aload_1 111: ldc_w #603 // String ϡ�� 114: invokevirtual #400 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 117: ifeq 167 120: iconst_2 121: istore_2 122: goto 167 125: aload_1 126: ldc_w #605 // String ʷʫ 129: invokevirtual #400 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 132: ifeq 167 135: iconst_3 136: istore_2 137: goto 167 140: aload_1 141: ldc_w #607 // String ��˵ 144: invokevirtual #400 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 147: ifeq 167 150: iconst_4 151: istore_2 152: goto 167 155: aload_1 156: ldc_w #609 // String ���� 159: invokevirtual #400 // Method java/lang/String.equals:(Ljava/lang/Object;)Z 162: ifeq 167 165: iconst_5 166: istore_2 167: iload_2 168: tableswitch { // 0 to 5 0: 208 1: 214 2: 220 3: 226 4: 232 5: 238 default: 244 } 208: ldc_w #594 // int 12434877 211: goto 247 214: ldc_w #610 // int 7591543 217: goto 247 220: ldc_w #611 // int 5941247 223: goto 247 226: ldc_w #612 // int 11766015 229: goto 247 232: ldc_w #613 // int 16757051 235: goto 247 238: ldc_w #614 // int 16734962 241: goto 247 244: ldc_w #594 // int 12434877 247: ireturn private static java.lang.String formatNumber(double); Code: 0: dload_0 1: dload_0 2: invokestatic #618 // Method java/lang/Math.rint:(D)D 5: dsub 6: invokestatic #621 // Method java/lang/Math.abs:(D)D 9: ldc2_w #622 // double 0.001d 12: dcmpg 13: ifge 25 16: dload_0 17: invokestatic #618 // Method java/lang/Math.rint:(D)D 20: d2i 21: invokestatic #626 // Method java/lang/String.valueOf:(I)Ljava/lang/String; 24: areturn 25: getstatic #548 // Field java/util/Locale.ROOT:Ljava/util/Locale; 28: ldc_w #628 // String %.1f 31: iconst_1 32: anewarray #4 // class java/lang/Object 35: dup 36: iconst_0 37: dload_0 38: invokestatic #633 // Method java/lang/Double.valueOf:(D)Ljava/lang/Double; 41: aastore 42: invokestatic #637 // Method java/lang/String.format:(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; 45: areturn private static java.lang.String trimToWidth(net.minecraft.client.gui.Font, java.lang.String, int); Code: 0: aload_0 1: aload_1 2: invokevirtual #123 // Method net/minecraft/client/gui/Font.m_92895_:(Ljava/lang/String;)I 5: iload_2 6: if_icmpgt 11 9: aload_1 10: areturn 11: ldc_w #639 // String ... 14: astore_3 15: aload_1 16: invokevirtual #640 // Method java/lang/String.length:()I 19: istore 4 21: iload 4 23: ifle 53 26: aload_0 27: aload_1 28: iconst_0 29: iload 4 31: invokevirtual #643 // Method java/lang/String.substring:(II)Ljava/lang/String; 34: aload_3 35: invokedynamic #646, 0 // InvokeDynamic #4:makeConcatWithConstants:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; 40: invokevirtual #123 // Method net/minecraft/client/gui/Font.m_92895_:(Ljava/lang/String;)I 43: iload_2 44: if_icmple 53 47: iinc 4, -1 50: goto 21 53: aload_1 54: iconst_0 55: iconst_0 56: iload 4 58: invokestatic #138 // Method java/lang/Math.max:(II)I 61: invokevirtual #643 // Method java/lang/String.substring:(II)Ljava/lang/String; 64: aload_3 65: invokedynamic #646, 0 // InvokeDynamic #4:makeConcatWithConstants:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; 70: areturn private static boolean lambda$sumAttribute$0(net.minecraft.world.entity.ai.attributes.AttributeModifier); Code: 0: aload_0 1: invokevirtual #653 // Method net/minecraft/world/entity/ai/attributes/AttributeModifier.m_22217_:()Lnet/minecraft/world/entity/ai/attributes/AttributeModifier$Operation; 4: getstatic #657 // Field net/minecraft/world/entity/ai/attributes/AttributeModifier$Operation.ADDITION:Lnet/minecraft/world/entity/ai/attributes/AttributeModifier$Operation; 7: if_acmpne 14 10: iconst_1 11: goto 15 14: iconst_0 15: ireturn static {}; Code: 0: new #438 // class net/minecraft/resources/ResourceLocation 3: dup 4: ldc_w #662 // String sa_combat 7: ldc_w #664 // String textures/gui/arsenal_table/blueprint_bg.png 10: invokespecial #445 // Method net/minecraft/resources/ResourceLocation."":(Ljava/lang/String;Ljava/lang/String;)V 13: putstatic #214 // Field BLUEPRINT_BG:Lnet/minecraft/resources/ResourceLocation; 16: return } ==================== com.ogaba.sa_combat.item.BlueprintTooltipComponent ==================== Compiled from "BlueprintTooltipComponent.java" public final class com.ogaba.sa_combat.item.BlueprintTooltipComponent extends java.lang.Record implements net.minecraft.world.inventory.tooltip.TooltipComponent { private final net.minecraft.resources.ResourceLocation blueprintId; private final net.minecraft.resources.ResourceLocation unlocks; private final java.lang.String rarity; public com.ogaba.sa_combat.item.BlueprintTooltipComponent(net.minecraft.resources.ResourceLocation, net.minecraft.resources.ResourceLocation, java.lang.String); Code: 0: aload_0 1: invokespecial #23 // Method java/lang/Record."":()V 4: aload_0 5: aload_1 6: putfield #25 // Field blueprintId:Lnet/minecraft/resources/ResourceLocation; 9: aload_0 10: aload_2 11: putfield #27 // Field unlocks:Lnet/minecraft/resources/ResourceLocation; 14: aload_0 15: aload_3 16: putfield #29 // Field rarity:Ljava/lang/String; 19: return public final java.lang.String toString(); Code: 0: aload_0 1: invokedynamic #48, 0 // InvokeDynamic #0:toString:(Lcom/ogaba/sa_combat/item/BlueprintTooltipComponent;)Ljava/lang/String; 6: areturn public final int hashCode(); Code: 0: aload_0 1: invokedynamic #53, 0 // InvokeDynamic #0:hashCode:(Lcom/ogaba/sa_combat/item/BlueprintTooltipComponent;)I 6: ireturn public final boolean equals(java.lang.Object); Code: 0: aload_0 1: aload_1 2: invokedynamic #58, 0 // InvokeDynamic #0:equals:(Lcom/ogaba/sa_combat/item/BlueprintTooltipComponent;Ljava/lang/Object;)Z 7: ireturn public net.minecraft.resources.ResourceLocation blueprintId(); Code: 0: aload_0 1: getfield #25 // Field blueprintId:Lnet/minecraft/resources/ResourceLocation; 4: areturn public net.minecraft.resources.ResourceLocation unlocks(); Code: 0: aload_0 1: getfield #27 // Field unlocks:Lnet/minecraft/resources/ResourceLocation; 4: areturn public java.lang.String rarity(); Code: 0: aload_0 1: getfield #29 // Field rarity:Ljava/lang/String; 4: areturn } ==================== com.ogaba.sa_combat.item.BlueprintItem ==================== Compiled from "BlueprintItem.java" public class com.ogaba.sa_combat.item.BlueprintItem extends net.minecraft.world.item.Item { public static final java.lang.String ROOT; public static final java.lang.String ID; public static final java.lang.String NAME; public static final java.lang.String UNLOCKS; public static final java.lang.String RARITY; private final net.minecraft.resources.ResourceLocation fixedId; private final net.minecraft.resources.ResourceLocation fixedUnlocks; private final java.lang.String fixedRarity; public com.ogaba.sa_combat.item.BlueprintItem(net.minecraft.world.item.Item$Properties); Code: 0: aload_0 1: aload_1 2: aconst_null 3: aconst_null 4: aconst_null 5: invokespecial #44 // Method "":(Lnet/minecraft/world/item/Item$Properties;Lnet/minecraft/resources/ResourceLocation;Lnet/minecraft/resources/ResourceLocation;Ljava/lang/String;)V 8: return public com.ogaba.sa_combat.item.BlueprintItem(net.minecraft.world.item.Item$Properties, net.minecraft.resources.ResourceLocation, net.minecraft.resources.ResourceLocation, java.lang.String); Code: 0: aload_0 1: aload_1 2: invokespecial #50 // Method net/minecraft/world/item/Item."":(Lnet/minecraft/world/item/Item$Properties;)V 5: aload_0 6: aload_2 7: putfield #52 // Field fixedId:Lnet/minecraft/resources/ResourceLocation; 10: aload_0 11: aload_3 12: putfield #54 // Field fixedUnlocks:Lnet/minecraft/resources/ResourceLocation; 15: aload_0 16: aload 4 18: putfield #56 // Field fixedRarity:Ljava/lang/String; 21: return public net.minecraft.network.chat.Component m_7626_(net.minecraft.world.item.ItemStack); Code: 0: aload_1 1: invokestatic #62 // Method getBlueprintData:(Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/nbt/CompoundTag; 4: astore_2 5: aload_2 6: ifnull 28 9: aload_2 10: ldc #28 // String Name 12: invokevirtual #68 // Method net/minecraft/nbt/CompoundTag.m_128441_:(Ljava/lang/String;)Z 15: ifeq 28 18: aload_2 19: ldc #28 // String Name 21: invokevirtual #72 // Method net/minecraft/nbt/CompoundTag.m_128461_:(Ljava/lang/String;)Ljava/lang/String; 24: invokestatic #78 // InterfaceMethod net/minecraft/network/chat/Component.m_237113_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent; 27: areturn 28: aload_1 29: invokestatic #82 // Method com/ogaba/sa_combat/blueprint/BlueprintDefinitionRegistry.byItem:(Lnet/minecraft/world/item/ItemStack;)Ljava/util/Optional; 32: aconst_null 33: invokevirtual #88 // Method java/util/Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object; 36: checkcast #10 // class com/ogaba/sa_combat/blueprint/BlueprintDefinitionRegistry$Definition 39: astore_3 40: aload_3 41: ifnull 62 44: aload_3 45: invokevirtual #92 // Method com/ogaba/sa_combat/blueprint/BlueprintDefinitionRegistry$Definition.name:()Ljava/lang/String; 48: invokevirtual #98 // Method java/lang/String.isBlank:()Z 51: ifne 62 54: aload_3 55: invokevirtual #92 // Method com/ogaba/sa_combat/blueprint/BlueprintDefinitionRegistry$Definition.name:()Ljava/lang/String; 58: invokestatic #78 // InterfaceMethod net/minecraft/network/chat/Component.m_237113_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent; 61: areturn 62: aload_1 63: invokestatic #102 // Method getBlueprintId:(Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/resources/ResourceLocation; 66: astore 4 68: aload 4 70: ifnull 143 73: aload 4 75: invokevirtual #107 // Method net/minecraft/resources/ResourceLocation.m_135827_:()Ljava/lang/String; 78: aload 4 80: invokevirtual #110 // Method net/minecraft/resources/ResourceLocation.m_135815_:()Ljava/lang/String; 83: bipush 47 85: bipush 46 87: invokevirtual #114 // Method java/lang/String.replace:(CC)Ljava/lang/String; 90: invokedynamic #126, 0 // InvokeDynamic #0:makeConcatWithConstants:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; 95: invokestatic #129 // InterfaceMethod net/minecraft/network/chat/Component.m_237115_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent; 98: astore 5 100: aload 5 102: invokeinterface #132, 1 // InterfaceMethod net/minecraft/network/chat/Component.getString:()Ljava/lang/String; 107: ldc #134 // String blueprint. 109: invokevirtual #137 // Method java/lang/String.startsWith:(Ljava/lang/String;)Z 112: ifeq 128 115: aload 4 117: invokevirtual #110 // Method net/minecraft/resources/ResourceLocation.m_135815_:()Ljava/lang/String; 120: invokestatic #140 // Method prettyName:(Ljava/lang/String;)Ljava/lang/String; 123: invokestatic #78 // InterfaceMethod net/minecraft/network/chat/Component.m_237113_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent; 126: astore 5 128: ldc #142 // String item.sa_combat.blueprint.named 130: iconst_1 131: anewarray #144 // class java/lang/Object 134: dup 135: iconst_0 136: aload 5 138: aastore 139: invokestatic #148 // InterfaceMethod net/minecraft/network/chat/Component.m_237110_:(Ljava/lang/String;[Ljava/lang/Object;)Lnet/minecraft/network/chat/MutableComponent; 142: areturn 143: aload_0 144: aload_1 145: invokespecial #150 // Method net/minecraft/world/item/Item.m_7626_:(Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/network/chat/Component; 148: areturn public java.util.Optional m_142422_(net.minecraft.world.item.ItemStack); Code: 0: aload_1 1: invokestatic #102 // Method getBlueprintId:(Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/resources/ResourceLocation; 4: astore_2 5: aload_1 6: invokestatic #164 // Method getBlueprintUnlocks:(Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/resources/ResourceLocation; 9: astore_3 10: aload_1 11: invokestatic #168 // Method getBlueprintRarity:(Lnet/minecraft/world/item/ItemStack;)Ljava/lang/String; 14: astore 4 16: aload_2 17: ifnonnull 41 20: aload_3 21: ifnonnull 41 24: aload 4 26: ifnull 37 29: aload 4 31: invokevirtual #98 // Method java/lang/String.isBlank:()Z 34: ifeq 41 37: invokestatic #172 // Method java/util/Optional.empty:()Ljava/util/Optional; 40: areturn 41: new #174 // class com/ogaba/sa_combat/item/BlueprintTooltipComponent 44: dup 45: aload_2 46: aload_3 47: aload 4 49: invokespecial #177 // Method com/ogaba/sa_combat/item/BlueprintTooltipComponent."":(Lnet/minecraft/resources/ResourceLocation;Lnet/minecraft/resources/ResourceLocation;Ljava/lang/String;)V 52: invokestatic #181 // Method java/util/Optional.of:(Ljava/lang/Object;)Ljava/util/Optional; 55: areturn public void m_7373_(net.minecraft.world.item.ItemStack, net.minecraft.world.level.Level, java.util.List, net.minecraft.world.item.TooltipFlag); Code: 0: aload_1 1: invokestatic #62 // Method getBlueprintData:(Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/nbt/CompoundTag; 4: astore 5 6: aload_1 7: invokestatic #102 // Method getBlueprintId:(Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/resources/ResourceLocation; 10: astore 6 12: aload_1 13: invokestatic #164 // Method getBlueprintUnlocks:(Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/resources/ResourceLocation; 16: astore 7 18: aload_1 19: invokestatic #168 // Method getBlueprintRarity:(Lnet/minecraft/world/item/ItemStack;)Ljava/lang/String; 22: astore 8 24: aload 5 26: ifnonnull 63 29: aload 6 31: ifnonnull 63 34: aload 7 36: ifnonnull 63 39: aload 8 41: ifnonnull 63 44: aload_3 45: ldc #188 // String tooltip.sa_combat.blueprint.empty 47: invokestatic #129 // InterfaceMethod net/minecraft/network/chat/Component.m_237115_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent; 50: getstatic #194 // Field net/minecraft/ChatFormatting.DARK_GRAY:Lnet/minecraft/ChatFormatting; 53: invokevirtual #200 // Method net/minecraft/network/chat/MutableComponent.m_130940_:(Lnet/minecraft/ChatFormatting;)Lnet/minecraft/network/chat/MutableComponent; 56: invokeinterface #206, 2 // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z 61: pop 62: return 63: return public net.minecraft.resources.ResourceLocation getFixedId(); Code: 0: aload_0 1: getfield #52 // Field fixedId:Lnet/minecraft/resources/ResourceLocation; 4: areturn public net.minecraft.resources.ResourceLocation getFixedUnlocks(); Code: 0: aload_0 1: getfield #54 // Field fixedUnlocks:Lnet/minecraft/resources/ResourceLocation; 4: areturn public java.lang.String getFixedRarity(); Code: 0: aload_0 1: getfield #56 // Field fixedRarity:Ljava/lang/String; 4: areturn private static java.lang.String prettyName(java.lang.String); Code: 0: aload_0 1: ifnonnull 9 4: ldc #225 // String Blueprint 6: goto 27 9: aload_0 10: bipush 47 12: bipush 32 14: invokevirtual #114 // Method java/lang/String.replace:(CC)Ljava/lang/String; 17: bipush 95 19: bipush 32 21: invokevirtual #114 // Method java/lang/String.replace:(CC)Ljava/lang/String; 24: invokevirtual #228 // Method java/lang/String.trim:()Ljava/lang/String; 27: astore_1 28: aload_1 29: invokevirtual #231 // Method java/lang/String.isEmpty:()Z 32: ifeq 38 35: ldc #225 // String Blueprint 37: areturn 38: new #233 // class java/lang/StringBuilder 41: dup 42: invokespecial #236 // Method java/lang/StringBuilder."":()V 45: astore_2 46: aload_1 47: ldc #238 // String 49: invokevirtual #242 // Method java/lang/String.split:(Ljava/lang/String;)[Ljava/lang/String; 52: astore_3 53: aload_3 54: arraylength 55: istore 4 57: iconst_0 58: istore 5 60: iload 5 62: iload 4 64: if_icmpge 127 67: aload_3 68: iload 5 70: aaload 71: astore 6 73: aload 6 75: invokevirtual #98 // Method java/lang/String.isBlank:()Z 78: ifeq 84 81: goto 121 84: aload_2 85: invokevirtual #248 // Method java/lang/StringBuilder.length:()I 88: ifle 98 91: aload_2 92: bipush 32 94: invokevirtual #252 // Method java/lang/StringBuilder.append:(C)Ljava/lang/StringBuilder; 97: pop 98: aload_2 99: aload 6 101: iconst_0 102: invokevirtual #256 // Method java/lang/String.charAt:(I)C 105: invokestatic #262 // Method java/lang/Character.toUpperCase:(C)C 108: invokevirtual #252 // Method java/lang/StringBuilder.append:(C)Ljava/lang/StringBuilder; 111: aload 6 113: iconst_1 114: invokevirtual #266 // Method java/lang/String.substring:(I)Ljava/lang/String; 117: invokevirtual #269 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 120: pop 121: iinc 5, 1 124: goto 60 127: aload_2 128: invokevirtual #272 // Method java/lang/StringBuilder.toString:()Ljava/lang/String; 131: areturn public static net.minecraft.resources.ResourceLocation getBlueprintId(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: invokestatic #62 // Method getBlueprintData:(Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/nbt/CompoundTag; 4: astore_1 5: aload_1 6: ifnull 34 9: aload_1 10: ldc #25 // String Id 12: invokevirtual #68 // Method net/minecraft/nbt/CompoundTag.m_128441_:(Ljava/lang/String;)Z 15: ifeq 34 18: aload_1 19: ldc #25 // String Id 21: invokevirtual #72 // Method net/minecraft/nbt/CompoundTag.m_128461_:(Ljava/lang/String;)Ljava/lang/String; 24: invokestatic #281 // Method net/minecraft/resources/ResourceLocation.m_135820_:(Ljava/lang/String;)Lnet/minecraft/resources/ResourceLocation; 27: astore_2 28: aload_2 29: ifnull 34 32: aload_2 33: areturn 34: aload_0 35: invokestatic #82 // Method com/ogaba/sa_combat/blueprint/BlueprintDefinitionRegistry.byItem:(Lnet/minecraft/world/item/ItemStack;)Ljava/util/Optional; 38: invokedynamic #299, 0 // InvokeDynamic #1:apply:()Ljava/util/function/Function; 43: invokevirtual #303 // Method java/util/Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional; 46: aconst_null 47: invokevirtual #88 // Method java/util/Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object; 50: checkcast #104 // class net/minecraft/resources/ResourceLocation 53: astore_2 54: aload_2 55: ifnull 60 58: aload_2 59: areturn 60: aload_0 61: invokevirtual #307 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item; 64: astore 4 66: aload 4 68: instanceof #2 // class com/ogaba/sa_combat/item/BlueprintItem 71: ifeq 85 74: aload 4 76: checkcast #2 // class com/ogaba/sa_combat/item/BlueprintItem 79: astore_3 80: aload_3 81: invokevirtual #309 // Method getFixedId:()Lnet/minecraft/resources/ResourceLocation; 84: areturn 85: aconst_null 86: areturn public static net.minecraft.resources.ResourceLocation getBlueprintUnlocks(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: invokestatic #62 // Method getBlueprintData:(Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/nbt/CompoundTag; 4: astore_1 5: aload_1 6: ifnull 34 9: aload_1 10: ldc #31 // String Unlocks 12: invokevirtual #68 // Method net/minecraft/nbt/CompoundTag.m_128441_:(Ljava/lang/String;)Z 15: ifeq 34 18: aload_1 19: ldc #31 // String Unlocks 21: invokevirtual #72 // Method net/minecraft/nbt/CompoundTag.m_128461_:(Ljava/lang/String;)Ljava/lang/String; 24: invokestatic #281 // Method net/minecraft/resources/ResourceLocation.m_135820_:(Ljava/lang/String;)Lnet/minecraft/resources/ResourceLocation; 27: astore_2 28: aload_2 29: ifnull 34 32: aload_2 33: areturn 34: aload_0 35: invokestatic #82 // Method com/ogaba/sa_combat/blueprint/BlueprintDefinitionRegistry.byItem:(Lnet/minecraft/world/item/ItemStack;)Ljava/util/Optional; 38: invokedynamic #315, 0 // InvokeDynamic #2:apply:()Ljava/util/function/Function; 43: invokevirtual #303 // Method java/util/Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional; 46: aconst_null 47: invokevirtual #88 // Method java/util/Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object; 50: checkcast #104 // class net/minecraft/resources/ResourceLocation 53: astore_2 54: aload_2 55: ifnull 60 58: aload_2 59: areturn 60: aload_0 61: invokevirtual #307 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item; 64: astore 4 66: aload 4 68: instanceof #2 // class com/ogaba/sa_combat/item/BlueprintItem 71: ifeq 85 74: aload 4 76: checkcast #2 // class com/ogaba/sa_combat/item/BlueprintItem 79: astore_3 80: aload_3 81: invokevirtual #317 // Method getFixedUnlocks:()Lnet/minecraft/resources/ResourceLocation; 84: areturn 85: aconst_null 86: areturn public static java.lang.String getBlueprintRarity(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: invokestatic #62 // Method getBlueprintData:(Lnet/minecraft/world/item/ItemStack;)Lnet/minecraft/nbt/CompoundTag; 4: astore_1 5: aload_1 6: ifnull 25 9: aload_1 10: ldc #34 // String Rarity 12: invokevirtual #68 // Method net/minecraft/nbt/CompoundTag.m_128441_:(Ljava/lang/String;)Z 15: ifeq 25 18: aload_1 19: ldc #34 // String Rarity 21: invokevirtual #72 // Method net/minecraft/nbt/CompoundTag.m_128461_:(Ljava/lang/String;)Ljava/lang/String; 24: areturn 25: aload_0 26: invokestatic #82 // Method com/ogaba/sa_combat/blueprint/BlueprintDefinitionRegistry.byItem:(Lnet/minecraft/world/item/ItemStack;)Ljava/util/Optional; 29: invokedynamic #323, 0 // InvokeDynamic #3:apply:()Ljava/util/function/Function; 34: invokevirtual #303 // Method java/util/Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional; 37: ldc_w #325 // String 40: invokevirtual #88 // Method java/util/Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object; 43: checkcast #94 // class java/lang/String 46: astore_2 47: aload_2 48: invokevirtual #98 // Method java/lang/String.isBlank:()Z 51: ifne 56 54: aload_2 55: areturn 56: aload_0 57: invokevirtual #307 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item; 60: astore 4 62: aload 4 64: instanceof #2 // class com/ogaba/sa_combat/item/BlueprintItem 67: ifeq 81 70: aload 4 72: checkcast #2 // class com/ogaba/sa_combat/item/BlueprintItem 75: astore_3 76: aload_3 77: invokevirtual #327 // Method getFixedRarity:()Ljava/lang/String; 80: areturn 81: aconst_null 82: areturn public static net.minecraft.nbt.CompoundTag getBlueprintData(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: invokevirtual #331 // Method net/minecraft/world/item/ItemStack.m_41783_:()Lnet/minecraft/nbt/CompoundTag; 4: astore_1 5: aload_1 6: ifnull 18 9: aload_1 10: ldc #22 // String SACombatBlueprint 12: invokevirtual #68 // Method net/minecraft/nbt/CompoundTag.m_128441_:(Ljava/lang/String;)Z 15: ifne 20 18: aconst_null 19: areturn 20: aload_1 21: ldc #22 // String SACombatBlueprint 23: invokevirtual #335 // Method net/minecraft/nbt/CompoundTag.m_128469_:(Ljava/lang/String;)Lnet/minecraft/nbt/CompoundTag; 26: areturn }