Compiled from "SACombatForgeEvents.java" public final class com.ogaba.sa_combat.event.SACombatForgeEvents { private static final java.util.UUID EXTERNAL_UPGRADE_DAMAGE_UUID; private static final java.util.UUID EXTERNAL_UPGRADE_SPEED_UUID; private static final java.util.UUID EXTERNAL_UPGRADE_KNOCKBACK_UUID; private static final java.util.UUID EXTERNAL_UPGRADE_REACH_UUID; private static final java.util.UUID TACZ_VEST_BULLET_RESISTANCE_UUID; private static final net.minecraft.resources.ResourceLocation TACZ_BULLET_RESISTANCE_ID; private static boolean proccingExternalAbility; private static boolean proccingShieldThorns; private static final int ICE_AXE_CLIMB_SOUND_INTERVAL_TICKS; private com.ogaba.sa_combat.event.SACombatForgeEvents(); Code: 0: aload_0 1: invokespecial #92 // Method java/lang/Object."":()V 4: return public static void addTaczVestBulletResistance(net.minecraftforge.event.ItemAttributeModifierEvent); Code: 0: aload_0 1: invokevirtual #103 // Method net/minecraftforge/event/ItemAttributeModifierEvent.getSlotType:()Lnet/minecraft/world/entity/EquipmentSlot; 4: getstatic #109 // Field net/minecraft/world/entity/EquipmentSlot.CHEST:Lnet/minecraft/world/entity/EquipmentSlot; 7: if_acmpne 33 10: aload_0 11: invokevirtual #113 // Method net/minecraftforge/event/ItemAttributeModifierEvent.getItemStack:()Lnet/minecraft/world/item/ItemStack; 14: invokevirtual #119 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item; 17: astore_2 18: aload_2 19: instanceof #121 // class com/ogaba/sa_combat/item/TacticalVestItem 22: ifeq 33 25: aload_2 26: checkcast #121 // class com/ogaba/sa_combat/item/TacticalVestItem 29: astore_1 30: goto 34 33: return 34: getstatic #127 // Field net/minecraftforge/registries/ForgeRegistries.ATTRIBUTES:Lnet/minecraftforge/registries/IForgeRegistry; 37: getstatic #129 // Field TACZ_BULLET_RESISTANCE_ID:Lnet/minecraft/resources/ResourceLocation; 40: invokeinterface #135, 2 // InterfaceMethod net/minecraftforge/registries/IForgeRegistry.getValue:(Lnet/minecraft/resources/ResourceLocation;)Ljava/lang/Object; 45: checkcast #137 // class net/minecraft/world/entity/ai/attributes/Attribute 48: astore_2 49: aload_2 50: ifnull 62 53: aload_1 54: invokevirtual #141 // Method com/ogaba/sa_combat/item/TacticalVestItem.getTaczBulletResistance:()D 57: dconst_0 58: dcmpg 59: ifgt 63 62: return 63: aload_0 64: aload_2 65: new #17 // class net/minecraft/world/entity/ai/attributes/AttributeModifier 68: dup 69: getstatic #143 // Field TACZ_VEST_BULLET_RESISTANCE_UUID:Ljava/util/UUID; 72: ldc #145 // String SA Combat TACZ vest bullet resistance 74: aload_1 75: invokevirtual #141 // Method com/ogaba/sa_combat/item/TacticalVestItem.getTaczBulletResistance:()D 78: getstatic #149 // Field net/minecraft/world/entity/ai/attributes/AttributeModifier$Operation.ADDITION:Lnet/minecraft/world/entity/ai/attributes/AttributeModifier$Operation; 81: invokespecial #152 // Method net/minecraft/world/entity/ai/attributes/AttributeModifier."":(Ljava/util/UUID;Ljava/lang/String;DLnet/minecraft/world/entity/ai/attributes/AttributeModifier$Operation;)V 84: invokevirtual #156 // Method net/minecraftforge/event/ItemAttributeModifierEvent.addModifier:(Lnet/minecraft/world/entity/ai/attributes/Attribute;Lnet/minecraft/world/entity/ai/attributes/AttributeModifier;)Z 87: pop 88: return public static void triggerC4ByNearbyExplosion(net.minecraftforge.event.level.ExplosionEvent$Detonate); Code: 0: aload_0 1: invokevirtual #168 // Method net/minecraftforge/event/level/ExplosionEvent$Detonate.getLevel:()Lnet/minecraft/world/level/Level; 4: invokevirtual #174 // Method net/minecraft/world/level/Level.m_5776_:()Z 7: ifeq 11 10: return 11: new #176 // class it/unimi/dsi/fastutil/longs/LongOpenHashSet 14: dup 15: invokespecial #177 // Method it/unimi/dsi/fastutil/longs/LongOpenHashSet."":()V 18: astore_1 19: new #176 // class it/unimi/dsi/fastutil/longs/LongOpenHashSet 22: dup 23: invokespecial #177 // Method it/unimi/dsi/fastutil/longs/LongOpenHashSet."":()V 26: astore_2 27: aload_0 28: invokevirtual #181 // Method net/minecraftforge/event/level/ExplosionEvent$Detonate.getAffectedBlocks:()Ljava/util/List; 31: invokeinterface #187, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator; 36: astore_3 37: aload_3 38: invokeinterface #192, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 43: ifeq 199 46: aload_3 47: invokeinterface #196, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 52: checkcast #198 // class net/minecraft/core/BlockPos 55: astore 4 57: aload 4 59: invokevirtual #202 // Method net/minecraft/core/BlockPos.m_123341_:()I 62: istore 5 64: aload 4 66: invokevirtual #205 // Method net/minecraft/core/BlockPos.m_123342_:()I 69: istore 6 71: aload 4 73: invokevirtual #208 // Method net/minecraft/core/BlockPos.m_123343_:()I 76: istore 7 78: bipush -3 80: istore 8 82: iload 8 84: iconst_3 85: if_icmpgt 196 88: bipush -3 90: istore 9 92: iload 9 94: iconst_3 95: if_icmpgt 190 98: bipush -3 100: istore 10 102: iload 10 104: iconst_3 105: if_icmpgt 184 108: iload 5 110: iload 8 112: iadd 113: iload 6 115: iload 9 117: iadd 118: iload 7 120: iload 10 122: iadd 123: invokestatic #212 // Method net/minecraft/core/BlockPos.m_121882_:(III)J 126: lstore 11 128: aload_1 129: lload 11 131: invokevirtual #216 // Method it/unimi/dsi/fastutil/longs/LongOpenHashSet.add:(J)Z 134: ifne 140 137: goto 178 140: lload 11 142: invokestatic #220 // Method net/minecraft/core/BlockPos.m_122022_:(J)Lnet/minecraft/core/BlockPos; 145: astore 13 147: aload_0 148: invokevirtual #168 // Method net/minecraftforge/event/level/ExplosionEvent$Detonate.getLevel:()Lnet/minecraft/world/level/Level; 151: aload 13 153: invokevirtual #224 // Method net/minecraft/world/level/Level.m_8055_:(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState; 156: getstatic #230 // Field com/ogaba/sa_combat/registry/ModBlocks.C4:Lnet/minecraftforge/registries/RegistryObject; 159: invokevirtual #235 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object; 162: checkcast #237 // class net/minecraft/world/level/block/Block 165: invokevirtual #243 // Method net/minecraft/world/level/block/state/BlockState.m_60713_:(Lnet/minecraft/world/level/block/Block;)Z 168: ifeq 178 171: aload_2 172: lload 11 174: invokevirtual #216 // Method it/unimi/dsi/fastutil/longs/LongOpenHashSet.add:(J)Z 177: pop 178: iinc 10, 1 181: goto 102 184: iinc 9, 1 187: goto 92 190: iinc 8, 1 193: goto 82 196: goto 37 199: aload_2 200: invokevirtual #246 // Method it/unimi/dsi/fastutil/longs/LongOpenHashSet.iterator:()Lit/unimi/dsi/fastutil/longs/LongIterator; 203: astore_3 204: aload_3 205: invokeinterface #192, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 210: ifeq 243 213: aload_3 214: invokeinterface #196, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 219: checkcast #248 // class java/lang/Long 222: invokevirtual #252 // Method java/lang/Long.longValue:()J 225: lstore 4 227: aload_0 228: invokevirtual #168 // Method net/minecraftforge/event/level/ExplosionEvent$Detonate.getLevel:()Lnet/minecraft/world/level/Level; 231: lload 4 233: invokestatic #220 // Method net/minecraft/core/BlockPos.m_122022_:(J)Lnet/minecraft/core/BlockPos; 236: aconst_null 237: invokestatic #258 // Method com/ogaba/sa_combat/block/C4Block.explode:(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/entity/Entity;)V 240: goto 204 243: return public static void addExternalWeaponUpgradeAttributes(net.minecraftforge.event.ItemAttributeModifierEvent); Code: 0: aload_0 1: invokevirtual #113 // Method net/minecraftforge/event/ItemAttributeModifierEvent.getItemStack:()Lnet/minecraft/world/item/ItemStack; 4: astore_1 5: aload_1 6: invokevirtual #277 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 9: ifne 22 12: aload_0 13: invokevirtual #103 // Method net/minecraftforge/event/ItemAttributeModifierEvent.getSlotType:()Lnet/minecraft/world/entity/EquipmentSlot; 16: getstatic #280 // Field net/minecraft/world/entity/EquipmentSlot.MAINHAND:Lnet/minecraft/world/entity/EquipmentSlot; 19: if_acmpeq 23 22: return 23: aload_1 24: invokevirtual #119 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item; 27: instanceof #282 // class com/ogaba/sa_combat/combat/weapon/BaseMeleeWeapon 30: ifeq 34 33: return 34: aload_1 35: invokestatic #286 // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData.getDamageBonus:(Lnet/minecraft/world/item/ItemStack;)D 38: aload_1 39: invokestatic #289 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachmentData.getDamageBonus:(Lnet/minecraft/world/item/ItemStack;)D 42: dadd 43: dstore_2 44: dload_2 45: dconst_0 46: dcmpl 47: ifeq 75 50: aload_0 51: getstatic #294 // Field net/minecraft/world/entity/ai/attributes/Attributes.f_22281_:Lnet/minecraft/world/entity/ai/attributes/Attribute; 54: new #17 // class net/minecraft/world/entity/ai/attributes/AttributeModifier 57: dup 58: getstatic #296 // Field EXTERNAL_UPGRADE_DAMAGE_UUID:Ljava/util/UUID; 61: ldc_w #298 // String SA Combat weapon upgrade damage 64: dload_2 65: getstatic #149 // Field net/minecraft/world/entity/ai/attributes/AttributeModifier$Operation.ADDITION:Lnet/minecraft/world/entity/ai/attributes/AttributeModifier$Operation; 68: invokespecial #152 // Method net/minecraft/world/entity/ai/attributes/AttributeModifier."":(Ljava/util/UUID;Ljava/lang/String;DLnet/minecraft/world/entity/ai/attributes/AttributeModifier$Operation;)V 71: invokevirtual #156 // Method net/minecraftforge/event/ItemAttributeModifierEvent.addModifier:(Lnet/minecraft/world/entity/ai/attributes/Attribute;Lnet/minecraft/world/entity/ai/attributes/AttributeModifier;)Z 74: pop 75: aload_1 76: invokestatic #301 // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData.getSpeedBonus:(Lnet/minecraft/world/item/ItemStack;)D 79: aload_1 80: invokestatic #302 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachmentData.getSpeedBonus:(Lnet/minecraft/world/item/ItemStack;)D 83: dadd 84: dstore 4 86: dload 4 88: dconst_0 89: dcmpl 90: ifeq 119 93: aload_0 94: getstatic #305 // Field net/minecraft/world/entity/ai/attributes/Attributes.f_22283_:Lnet/minecraft/world/entity/ai/attributes/Attribute; 97: new #17 // class net/minecraft/world/entity/ai/attributes/AttributeModifier 100: dup 101: getstatic #307 // Field EXTERNAL_UPGRADE_SPEED_UUID:Ljava/util/UUID; 104: ldc_w #309 // String SA Combat weapon upgrade speed 107: dload 4 109: getstatic #149 // Field net/minecraft/world/entity/ai/attributes/AttributeModifier$Operation.ADDITION:Lnet/minecraft/world/entity/ai/attributes/AttributeModifier$Operation; 112: invokespecial #152 // Method net/minecraft/world/entity/ai/attributes/AttributeModifier."":(Ljava/util/UUID;Ljava/lang/String;DLnet/minecraft/world/entity/ai/attributes/AttributeModifier$Operation;)V 115: invokevirtual #156 // Method net/minecraftforge/event/ItemAttributeModifierEvent.addModifier:(Lnet/minecraft/world/entity/ai/attributes/Attribute;Lnet/minecraft/world/entity/ai/attributes/AttributeModifier;)Z 118: pop 119: aload_1 120: invokestatic #312 // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData.getKnockbackBonus:(Lnet/minecraft/world/item/ItemStack;)D 123: aload_1 124: invokestatic #313 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachmentData.getKnockbackBonus:(Lnet/minecraft/world/item/ItemStack;)D 127: dadd 128: dstore 6 130: dload 6 132: dconst_0 133: dcmpl 134: ifeq 163 137: aload_0 138: getstatic #316 // Field net/minecraft/world/entity/ai/attributes/Attributes.f_22282_:Lnet/minecraft/world/entity/ai/attributes/Attribute; 141: new #17 // class net/minecraft/world/entity/ai/attributes/AttributeModifier 144: dup 145: getstatic #318 // Field EXTERNAL_UPGRADE_KNOCKBACK_UUID:Ljava/util/UUID; 148: ldc_w #320 // String SA Combat weapon upgrade knockback 151: dload 6 153: getstatic #149 // Field net/minecraft/world/entity/ai/attributes/AttributeModifier$Operation.ADDITION:Lnet/minecraft/world/entity/ai/attributes/AttributeModifier$Operation; 156: invokespecial #152 // Method net/minecraft/world/entity/ai/attributes/AttributeModifier."":(Ljava/util/UUID;Ljava/lang/String;DLnet/minecraft/world/entity/ai/attributes/AttributeModifier$Operation;)V 159: invokevirtual #156 // Method net/minecraftforge/event/ItemAttributeModifierEvent.addModifier:(Lnet/minecraft/world/entity/ai/attributes/Attribute;Lnet/minecraft/world/entity/ai/attributes/AttributeModifier;)Z 162: pop 163: aload_1 164: invokestatic #323 // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData.getReachBonus:(Lnet/minecraft/world/item/ItemStack;)D 167: aload_1 168: invokestatic #324 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachmentData.getReachBonus:(Lnet/minecraft/world/item/ItemStack;)D 171: dadd 172: dstore 8 174: dload 8 176: dconst_0 177: dcmpl 178: ifeq 213 181: aload_0 182: getstatic #329 // Field net/minecraftforge/common/ForgeMod.ENTITY_REACH:Lnet/minecraftforge/registries/RegistryObject; 185: invokevirtual #235 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object; 188: checkcast #137 // class net/minecraft/world/entity/ai/attributes/Attribute 191: new #17 // class net/minecraft/world/entity/ai/attributes/AttributeModifier 194: dup 195: getstatic #331 // Field EXTERNAL_UPGRADE_REACH_UUID:Ljava/util/UUID; 198: ldc_w #333 // String SA Combat weapon upgrade reach 201: dload 8 203: getstatic #149 // Field net/minecraft/world/entity/ai/attributes/AttributeModifier$Operation.ADDITION:Lnet/minecraft/world/entity/ai/attributes/AttributeModifier$Operation; 206: invokespecial #152 // Method net/minecraft/world/entity/ai/attributes/AttributeModifier."":(Ljava/util/UUID;Ljava/lang/String;DLnet/minecraft/world/entity/ai/attributes/AttributeModifier$Operation;)V 209: invokevirtual #156 // Method net/minecraftforge/event/ItemAttributeModifierEvent.addModifier:(Lnet/minecraft/world/entity/ai/attributes/Attribute;Lnet/minecraft/world/entity/ai/attributes/AttributeModifier;)Z 212: pop 213: return public static void applyWeaponCriticalUpgrade(net.minecraftforge.event.entity.living.LivingHurtEvent); Code: 0: aload_0 1: invokevirtual #348 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getEntity:()Lnet/minecraft/world/entity/LivingEntity; 4: invokevirtual #353 // Method net/minecraft/world/entity/LivingEntity.m_9236_:()Lnet/minecraft/world/level/Level; 7: invokevirtual #174 // Method net/minecraft/world/level/Level.m_5776_:()Z 10: ifeq 14 13: return 14: aload_0 15: invokevirtual #357 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getSource:()Lnet/minecraft/world/damagesource/DamageSource; 18: invokevirtual #363 // Method net/minecraft/world/damagesource/DamageSource.m_7639_:()Lnet/minecraft/world/entity/Entity; 21: astore_2 22: aload_2 23: instanceof #350 // class net/minecraft/world/entity/LivingEntity 26: ifeq 37 29: aload_2 30: checkcast #350 // class net/minecraft/world/entity/LivingEntity 33: astore_1 34: goto 38 37: return 38: aload_0 39: invokevirtual #357 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getSource:()Lnet/minecraft/world/damagesource/DamageSource; 42: invokevirtual #366 // Method net/minecraft/world/damagesource/DamageSource.m_7640_:()Lnet/minecraft/world/entity/Entity; 45: aload_1 46: if_acmpeq 50 49: return 50: aload_1 51: invokevirtual #369 // Method net/minecraft/world/entity/LivingEntity.m_21205_:()Lnet/minecraft/world/item/ItemStack; 54: astore_2 55: aload_2 56: invokevirtual #277 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 59: ifne 69 62: aload_2 63: invokestatic #375 // Method com/ogaba/sa_combat/combat/weapon/WeaponSlotProfile.isUpgradeableWeapon:(Lnet/minecraft/world/item/ItemStack;)Z 66: ifne 70 69: return 70: dconst_0 71: aload_2 72: invokestatic #378 // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData.getCriticalChanceBonus:(Lnet/minecraft/world/item/ItemStack;)D 75: invokestatic #384 // Method java/lang/Math.max:(DD)D 78: dstore_3 79: dload_3 80: dconst_0 81: dcmpg 82: ifgt 86 85: return 86: ldc2_w #385 // double 0.95d 89: dload_3 90: invokestatic #389 // Method java/lang/Math.min:(DD)D 93: dstore_3 94: aload_1 95: invokevirtual #393 // Method net/minecraft/world/entity/LivingEntity.m_217043_:()Lnet/minecraft/util/RandomSource; 98: invokeinterface #398, 1 // InterfaceMethod net/minecraft/util/RandomSource.m_188500_:()D 103: dload_3 104: dcmpl 105: iflt 109 108: return 109: dconst_0 110: aload_2 111: invokestatic #401 // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData.getCriticalDamageBonus:(Lnet/minecraft/world/item/ItemStack;)D 114: invokestatic #384 // Method java/lang/Math.max:(DD)D 117: dstore 5 119: dload 5 121: dconst_0 122: dcmpg 123: ifgt 131 126: ldc2_w #402 // double 0.25d 129: dstore 5 131: aload_0 132: aload_0 133: invokevirtual #407 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getAmount:()F 136: f2d 137: dconst_1 138: dload 5 140: dadd 141: dmul 142: d2f 143: invokevirtual #411 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.setAmount:(F)V 146: aload_1 147: invokevirtual #353 // Method net/minecraft/world/entity/LivingEntity.m_9236_:()Lnet/minecraft/world/level/Level; 150: aconst_null 151: aload_1 152: invokevirtual #414 // Method net/minecraft/world/entity/LivingEntity.m_20185_:()D 155: aload_1 156: invokevirtual #417 // Method net/minecraft/world/entity/LivingEntity.m_20186_:()D 159: aload_1 160: invokevirtual #420 // Method net/minecraft/world/entity/LivingEntity.m_20189_:()D 163: getstatic #426 // Field net/minecraft/sounds/SoundEvents.f_12313_:Lnet/minecraft/sounds/SoundEvent; 166: getstatic #432 // Field net/minecraft/sounds/SoundSource.PLAYERS:Lnet/minecraft/sounds/SoundSource; 169: ldc_w #433 // float 0.75f 172: ldc_w #434 // float 1.15f 175: invokevirtual #438 // Method net/minecraft/world/level/Level.m_6263_:(Lnet/minecraft/world/entity/player/Player;DDDLnet/minecraft/sounds/SoundEvent;Lnet/minecraft/sounds/SoundSource;FF)V 178: return public static void procExternalWeaponAbilities(net.minecraftforge.event.entity.living.LivingHurtEvent); Code: 0: getstatic #446 // Field proccingExternalAbility:Z 3: ifne 19 6: aload_0 7: invokevirtual #348 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getEntity:()Lnet/minecraft/world/entity/LivingEntity; 10: invokevirtual #353 // Method net/minecraft/world/entity/LivingEntity.m_9236_:()Lnet/minecraft/world/level/Level; 13: invokevirtual #174 // Method net/minecraft/world/level/Level.m_5776_:()Z 16: ifeq 20 19: return 20: aload_0 21: invokevirtual #357 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getSource:()Lnet/minecraft/world/damagesource/DamageSource; 24: invokevirtual #363 // Method net/minecraft/world/damagesource/DamageSource.m_7639_:()Lnet/minecraft/world/entity/Entity; 27: astore_2 28: aload_2 29: instanceof #350 // class net/minecraft/world/entity/LivingEntity 32: ifeq 43 35: aload_2 36: checkcast #350 // class net/minecraft/world/entity/LivingEntity 39: astore_1 40: goto 44 43: return 44: aload_0 45: invokevirtual #357 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getSource:()Lnet/minecraft/world/damagesource/DamageSource; 48: invokevirtual #366 // Method net/minecraft/world/damagesource/DamageSource.m_7640_:()Lnet/minecraft/world/entity/Entity; 51: aload_1 52: if_acmpeq 56 55: return 56: aload_1 57: invokevirtual #369 // Method net/minecraft/world/entity/LivingEntity.m_21205_:()Lnet/minecraft/world/item/ItemStack; 60: astore_2 61: aload_2 62: invokevirtual #277 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 65: ifne 85 68: aload_2 69: invokevirtual #119 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item; 72: instanceof #282 // class com/ogaba/sa_combat/combat/weapon/BaseMeleeWeapon 75: ifne 85 78: aload_2 79: invokestatic #375 // Method com/ogaba/sa_combat/combat/weapon/WeaponSlotProfile.isUpgradeableWeapon:(Lnet/minecraft/world/item/ItemStack;)Z 82: ifne 86 85: return 86: new #448 // class java/util/ArrayList 89: dup 90: aload_2 91: invokestatic #452 // Method com/ogaba/sa_combat/combat/weapon/WeaponSlotProfile.baseAbilities:(Lnet/minecraft/world/item/ItemStack;)Ljava/util/List; 94: invokespecial #455 // Method java/util/ArrayList."":(Ljava/util/Collection;)V 97: astore_3 98: aload_2 99: invokestatic #458 // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData.getAbilityUpgrades:(Lnet/minecraft/world/item/ItemStack;)Ljava/util/List; 102: invokeinterface #187, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator; 107: astore 4 109: aload 4 111: invokeinterface #192, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 116: ifeq 179 119: aload 4 121: invokeinterface #196, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 126: checkcast #25 // class com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData$Entry 129: astore 5 131: aload 5 133: invokevirtual #462 // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData$Entry.upgrade:()Ljava/util/Optional; 136: invokedynamic #481, 0 // InvokeDynamic #0:test:()Ljava/util/function/Predicate; 141: invokevirtual #487 // Method java/util/Optional.filter:(Ljava/util/function/Predicate;)Ljava/util/Optional; 144: aload 5 146: invokedynamic #500, 0 // InvokeDynamic #1:apply:(Lcom/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData$Entry;)Ljava/util/function/Function; 151: invokevirtual #504 // Method java/util/Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional; 154: invokedynamic #511, 0 // InvokeDynamic #2:test:()Ljava/util/function/Predicate; 159: invokevirtual #487 // Method java/util/Optional.filter:(Ljava/util/function/Predicate;)Ljava/util/Optional; 162: aload_3 163: dup 164: invokestatic #516 // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object; 167: pop 168: invokedynamic #527, 0 // InvokeDynamic #3:accept:(Ljava/util/List;)Ljava/util/function/Consumer; 173: invokevirtual #531 // Method java/util/Optional.ifPresent:(Ljava/util/function/Consumer;)V 176: goto 109 179: aload_2 180: invokestatic #535 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachmentData.installedAttachments:(Lnet/minecraft/world/item/ItemStack;)Ljava/util/Map; 183: astore 4 185: aload 4 187: invokeinterface #541, 1 // InterfaceMethod java/util/Map.values:()Ljava/util/Collection; 192: aload_3 193: aload_0 194: aload_1 195: invokedynamic #551, 0 // InvokeDynamic #4:accept:(Ljava/util/List;Lnet/minecraftforge/event/entity/living/LivingHurtEvent;Lnet/minecraft/world/entity/LivingEntity;)Ljava/util/function/Consumer; 200: invokeinterface #556, 2 // InterfaceMethod java/util/Collection.forEach:(Ljava/util/function/Consumer;)V 205: aload 4 207: invokeinterface #559, 1 // InterfaceMethod java/util/Map.isEmpty:()Z 212: ifeq 230 215: aload_2 216: invokestatic #563 // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData.getModifier:(Lnet/minecraft/world/item/ItemStack;)Ljava/util/Optional; 219: aload_3 220: aload_0 221: aload_1 222: invokedynamic #571, 0 // InvokeDynamic #5:accept:(Ljava/util/List;Lnet/minecraftforge/event/entity/living/LivingHurtEvent;Lnet/minecraft/world/entity/LivingEntity;)Ljava/util/function/Consumer; 227: invokevirtual #531 // Method java/util/Optional.ifPresent:(Ljava/util/function/Consumer;)V 230: aload_3 231: invokestatic #577 // Method com/ogaba/sa_combat/combat/system/AbilityInstance.mergeByType:(Ljava/util/List;)Ljava/util/List; 234: invokeinterface #581, 1 // InterfaceMethod java/util/List.stream:()Ljava/util/stream/Stream; 239: invokedynamic #591, 0 // InvokeDynamic #6:apply:()Ljava/util/function/Function; 244: invokeinterface #596, 2 // InterfaceMethod java/util/stream/Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream; 249: invokeinterface #599, 1 // InterfaceMethod java/util/stream/Stream.toList:()Ljava/util/List; 254: astore 5 256: aload 5 258: invokeinterface #600, 1 // InterfaceMethod java/util/List.isEmpty:()Z 263: ifeq 267 266: return 267: iconst_1 268: putstatic #446 // Field proccingExternalAbility:Z 271: getstatic #604 // Field com/ogaba/sa_combat/event/SACombatForgeEvents$1.$SwitchMap$com$ogaba$sa_combat$combat$weapon$WeaponProcMode:[I 274: aload_2 275: invokestatic #608 // Method com/ogaba/sa_combat/combat/weapon/WeaponSlotProfile.procMode:(Lnet/minecraft/world/item/ItemStack;)Lcom/ogaba/sa_combat/combat/weapon/WeaponProcMode; 278: invokevirtual #613 // Method com/ogaba/sa_combat/combat/weapon/WeaponProcMode.ordinal:()I 281: iaload 282: tableswitch { // 1 to 3 1: 308 2: 356 3: 394 default: 444 } 308: aload 5 310: invokeinterface #187, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator; 315: astore 6 317: aload 6 319: invokeinterface #192, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 324: ifeq 353 327: aload 6 329: invokeinterface #196, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 334: checkcast #615 // class com/ogaba/sa_combat/combat/system/WeaponAbility 337: astore 7 339: aload 7 341: aload_0 342: invokevirtual #348 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getEntity:()Lnet/minecraft/world/entity/LivingEntity; 345: aload_1 346: invokevirtual #619 // Method com/ogaba/sa_combat/combat/system/WeaponAbility.tryProc:(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/LivingEntity;)Z 349: pop 350: goto 317 353: goto 444 356: aload 5 358: aload_1 359: invokevirtual #393 // Method net/minecraft/world/entity/LivingEntity.m_217043_:()Lnet/minecraft/util/RandomSource; 362: aload 5 364: invokeinterface #622, 1 // InterfaceMethod java/util/List.size:()I 369: invokeinterface #626, 2 // InterfaceMethod net/minecraft/util/RandomSource.m_188503_:(I)I 374: invokeinterface #629, 2 // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object; 379: checkcast #615 // class com/ogaba/sa_combat/combat/system/WeaponAbility 382: aload_0 383: invokevirtual #348 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getEntity:()Lnet/minecraft/world/entity/LivingEntity; 386: aload_1 387: invokevirtual #619 // Method com/ogaba/sa_combat/combat/system/WeaponAbility.tryProc:(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/LivingEntity;)Z 390: pop 391: goto 444 394: aload 5 396: invokeinterface #187, 1 // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator; 401: astore 6 403: aload 6 405: invokeinterface #192, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z 410: ifeq 444 413: aload 6 415: invokeinterface #196, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object; 420: checkcast #615 // class com/ogaba/sa_combat/combat/system/WeaponAbility 423: astore 7 425: aload 7 427: aload_0 428: invokevirtual #348 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getEntity:()Lnet/minecraft/world/entity/LivingEntity; 431: aload_1 432: invokevirtual #619 // Method com/ogaba/sa_combat/combat/system/WeaponAbility.tryProc:(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/LivingEntity;)Z 435: ifeq 441 438: goto 444 441: goto 403 444: iconst_0 445: putstatic #446 // Field proccingExternalAbility:Z 448: goto 460 451: astore 8 453: iconst_0 454: putstatic #446 // Field proccingExternalAbility:Z 457: aload 8 459: athrow 460: return Exception table: from to target type 271 444 451 any 451 453 451 any public static void cancelShieldMeleeDamage(net.minecraftforge.event.entity.living.LivingHurtEvent); Code: 0: getstatic #645 // Field proccingShieldThorns:Z 3: ifne 19 6: aload_0 7: invokevirtual #348 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getEntity:()Lnet/minecraft/world/entity/LivingEntity; 10: invokevirtual #353 // Method net/minecraft/world/entity/LivingEntity.m_9236_:()Lnet/minecraft/world/level/Level; 13: invokevirtual #174 // Method net/minecraft/world/level/Level.m_5776_:()Z 16: ifeq 20 19: return 20: aload_0 21: invokevirtual #357 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getSource:()Lnet/minecraft/world/damagesource/DamageSource; 24: invokevirtual #363 // Method net/minecraft/world/damagesource/DamageSource.m_7639_:()Lnet/minecraft/world/entity/Entity; 27: astore_2 28: aload_2 29: instanceof #350 // class net/minecraft/world/entity/LivingEntity 32: ifeq 43 35: aload_2 36: checkcast #350 // class net/minecraft/world/entity/LivingEntity 39: astore_1 40: goto 44 43: return 44: aload_0 45: invokevirtual #357 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getSource:()Lnet/minecraft/world/damagesource/DamageSource; 48: invokevirtual #366 // Method net/minecraft/world/damagesource/DamageSource.m_7640_:()Lnet/minecraft/world/entity/Entity; 51: aload_1 52: if_acmpeq 56 55: return 56: aload_1 57: invokevirtual #369 // Method net/minecraft/world/entity/LivingEntity.m_21205_:()Lnet/minecraft/world/item/ItemStack; 60: astore_2 61: aload_2 62: invokevirtual #119 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item; 65: instanceof #647 // class com/ogaba/sa_combat/combat/weapon/SAShieldItem 68: ifeq 81 71: aload_0 72: iconst_1 73: invokevirtual #651 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.setCanceled:(Z)V 76: aload_0 77: fconst_0 78: invokevirtual #411 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.setAmount:(F)V 81: return public static void applySpikedShieldThorns(net.minecraftforge.event.entity.living.ShieldBlockEvent); Code: 0: aload_0 1: invokevirtual #657 // Method net/minecraftforge/event/entity/living/ShieldBlockEvent.getEntity:()Lnet/minecraft/world/entity/LivingEntity; 4: invokevirtual #353 // Method net/minecraft/world/entity/LivingEntity.m_9236_:()Lnet/minecraft/world/level/Level; 7: invokevirtual #174 // Method net/minecraft/world/level/Level.m_5776_:()Z 10: ifeq 14 13: return 14: aload_0 15: invokevirtual #657 // Method net/minecraftforge/event/entity/living/ShieldBlockEvent.getEntity:()Lnet/minecraft/world/entity/LivingEntity; 18: astore_1 19: aload_0 20: invokevirtual #660 // Method net/minecraftforge/event/entity/living/ShieldBlockEvent.getDamageSource:()Lnet/minecraft/world/damagesource/DamageSource; 23: invokevirtual #363 // Method net/minecraft/world/damagesource/DamageSource.m_7639_:()Lnet/minecraft/world/entity/Entity; 26: astore_2 27: aload_2 28: instanceof #350 // class net/minecraft/world/entity/LivingEntity 31: ifeq 51 34: aload_2 35: checkcast #350 // class net/minecraft/world/entity/LivingEntity 38: astore_3 39: aload_3 40: aload_1 41: if_acmpeq 51 44: aload_3 45: invokevirtual #663 // Method net/minecraft/world/entity/LivingEntity.m_6084_:()Z 48: ifne 52 51: return 52: aload_1 53: invokevirtual #668 // Method net/minecraft/world/entity/LivingEntity.m_21211_:()Lnet/minecraft/world/item/ItemStack; 56: astore 4 58: aload_1 59: aload_3 60: aload 4 62: aload_0 63: invokevirtual #671 // Method net/minecraftforge/event/entity/living/ShieldBlockEvent.getBlockedDamage:()F 66: invokestatic #674 // Method applySpikedShieldThorns:(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/item/ItemStack;F)Z 69: ifne 86 72: aload_1 73: aload_3 74: aload_1 75: invokevirtual #677 // Method net/minecraft/world/entity/LivingEntity.m_21206_:()Lnet/minecraft/world/item/ItemStack; 78: aload_0 79: invokevirtual #671 // Method net/minecraftforge/event/entity/living/ShieldBlockEvent.getBlockedDamage:()F 82: invokestatic #674 // Method applySpikedShieldThorns:(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/item/ItemStack;F)Z 85: pop 86: return public static void applySpikedShieldThornsFallback(net.minecraftforge.event.entity.living.LivingHurtEvent); Code: 0: getstatic #645 // Field proccingShieldThorns:Z 3: ifne 28 6: aload_0 7: invokevirtual #348 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getEntity:()Lnet/minecraft/world/entity/LivingEntity; 10: invokevirtual #353 // Method net/minecraft/world/entity/LivingEntity.m_9236_:()Lnet/minecraft/world/level/Level; 13: invokevirtual #174 // Method net/minecraft/world/level/Level.m_5776_:()Z 16: ifne 28 19: aload_0 20: invokevirtual #407 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getAmount:()F 23: fconst_0 24: fcmpg 25: ifgt 29 28: return 29: aload_0 30: invokevirtual #348 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getEntity:()Lnet/minecraft/world/entity/LivingEntity; 33: astore_1 34: aload_1 35: invokevirtual #686 // Method net/minecraft/world/entity/LivingEntity.m_21254_:()Z 38: ifne 42 41: return 42: aload_0 43: invokevirtual #357 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getSource:()Lnet/minecraft/world/damagesource/DamageSource; 46: invokevirtual #363 // Method net/minecraft/world/damagesource/DamageSource.m_7639_:()Lnet/minecraft/world/entity/Entity; 49: astore_2 50: aload_2 51: instanceof #350 // class net/minecraft/world/entity/LivingEntity 54: ifeq 74 57: aload_2 58: checkcast #350 // class net/minecraft/world/entity/LivingEntity 61: astore_3 62: aload_3 63: aload_1 64: if_acmpeq 74 67: aload_3 68: invokevirtual #663 // Method net/minecraft/world/entity/LivingEntity.m_6084_:()Z 71: ifne 75 74: return 75: aload_1 76: invokevirtual #668 // Method net/minecraft/world/entity/LivingEntity.m_21211_:()Lnet/minecraft/world/item/ItemStack; 79: astore 4 81: aload_1 82: aload_3 83: aload 4 85: aload_0 86: invokevirtual #407 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getAmount:()F 89: invokestatic #674 // Method applySpikedShieldThorns:(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/item/ItemStack;F)Z 92: ifne 109 95: aload_1 96: aload_3 97: aload_1 98: invokevirtual #677 // Method net/minecraft/world/entity/LivingEntity.m_21206_:()Lnet/minecraft/world/item/ItemStack; 101: aload_0 102: invokevirtual #407 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getAmount:()F 105: invokestatic #674 // Method applySpikedShieldThorns:(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/item/ItemStack;F)Z 108: pop 109: return private static boolean applySpikedShieldThorns(net.minecraft.world.entity.LivingEntity, net.minecraft.world.entity.LivingEntity, net.minecraft.world.item.ItemStack, float); Code: 0: aload_2 1: invokevirtual #277 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 4: ifne 24 7: aload_2 8: invokevirtual #119 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item; 11: instanceof #647 // class com/ogaba/sa_combat/combat/weapon/SAShieldItem 14: ifeq 24 17: aload_2 18: invokestatic #689 // Method hasSpikedShieldUpgrade:(Lnet/minecraft/world/item/ItemStack;)Z 21: ifne 26 24: iconst_0 25: ireturn 26: aload_0 27: invokevirtual #353 // Method net/minecraft/world/entity/LivingEntity.m_9236_:()Lnet/minecraft/world/level/Level; 30: invokevirtual #692 // Method net/minecraft/world/level/Level.m_46467_:()J 33: lstore 4 35: aload_2 36: invokevirtual #696 // Method net/minecraft/world/item/ItemStack.m_41784_:()Lnet/minecraft/nbt/CompoundTag; 39: ldc_w #698 // String SACombatLastShieldThornsTick 42: invokevirtual #704 // Method net/minecraft/nbt/CompoundTag.m_128454_:(Ljava/lang/String;)J 45: lload 4 47: lcmp 48: ifne 53 51: iconst_1 52: ireturn 53: aload_2 54: invokevirtual #696 // Method net/minecraft/world/item/ItemStack.m_41784_:()Lnet/minecraft/nbt/CompoundTag; 57: ldc_w #698 // String SACombatLastShieldThornsTick 60: lload 4 62: invokevirtual #708 // Method net/minecraft/nbt/CompoundTag.m_128356_:(Ljava/lang/String;J)V 65: fconst_1 66: ldc_w #709 // float 4.0f 69: fconst_1 70: fload_3 71: ldc_w #710 // float 0.35f 74: fmul 75: fadd 76: invokestatic #713 // Method java/lang/Math.min:(FF)F 79: invokestatic #715 // Method java/lang/Math.max:(FF)F 82: fstore 6 84: iconst_1 85: putstatic #645 // Field proccingShieldThorns:Z 88: aload_1 89: aload_0 90: invokevirtual #719 // Method net/minecraft/world/entity/LivingEntity.m_269291_:()Lnet/minecraft/world/damagesource/DamageSources; 93: aload_0 94: invokevirtual #725 // Method net/minecraft/world/damagesource/DamageSources.m_269374_:(Lnet/minecraft/world/entity/Entity;)Lnet/minecraft/world/damagesource/DamageSource; 97: fload 6 99: invokevirtual #729 // Method net/minecraft/world/entity/LivingEntity.m_6469_:(Lnet/minecraft/world/damagesource/DamageSource;F)Z 102: pop 103: iconst_0 104: putstatic #645 // Field proccingShieldThorns:Z 107: goto 119 110: astore 7 112: iconst_0 113: putstatic #645 // Field proccingShieldThorns:Z 116: aload 7 118: athrow 119: aload_0 120: invokevirtual #393 // Method net/minecraft/world/entity/LivingEntity.m_217043_:()Lnet/minecraft/util/RandomSource; 123: invokeinterface #732, 1 // InterfaceMethod net/minecraft/util/RandomSource.m_188501_:()F 128: ldc_w #710 // float 0.35f 131: fcmpg 132: ifge 159 135: aload_1 136: new #734 // class net/minecraft/world/effect/MobEffectInstance 139: dup 140: getstatic #739 // Field com/ogaba/sacore/registry/ModEffects.BLEEDING:Lnet/minecraftforge/registries/RegistryObject; 143: invokevirtual #235 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object; 146: checkcast #741 // class net/minecraft/world/effect/MobEffect 149: bipush 100 151: iconst_0 152: invokespecial #744 // Method net/minecraft/world/effect/MobEffectInstance."":(Lnet/minecraft/world/effect/MobEffect;II)V 155: invokevirtual #748 // Method net/minecraft/world/entity/LivingEntity.m_7292_:(Lnet/minecraft/world/effect/MobEffectInstance;)Z 158: pop 159: aload_0 160: instanceof #750 // class net/minecraft/world/entity/player/Player 163: ifeq 183 166: aload_0 167: checkcast #750 // class net/minecraft/world/entity/player/Player 170: astore 7 172: aload 7 174: invokevirtual #754 // Method net/minecraft/world/entity/player/Player.m_150110_:()Lnet/minecraft/world/entity/player/Abilities; 177: getfield #759 // Field net/minecraft/world/entity/player/Abilities.f_35937_:Z 180: ifne 194 183: aload_2 184: iconst_1 185: aload_0 186: invokedynamic #770, 0 // InvokeDynamic #7:accept:()Ljava/util/function/Consumer; 191: invokevirtual #774 // Method net/minecraft/world/item/ItemStack.m_41622_:(ILnet/minecraft/world/entity/LivingEntity;Ljava/util/function/Consumer;)V 194: aload_0 195: invokevirtual #353 // Method net/minecraft/world/entity/LivingEntity.m_9236_:()Lnet/minecraft/world/level/Level; 198: aconst_null 199: aload_0 200: invokevirtual #414 // Method net/minecraft/world/entity/LivingEntity.m_20185_:()D 203: aload_0 204: invokevirtual #417 // Method net/minecraft/world/entity/LivingEntity.m_20186_:()D 207: aload_0 208: invokevirtual #420 // Method net/minecraft/world/entity/LivingEntity.m_20189_:()D 211: getstatic #777 // Field net/minecraft/sounds/SoundEvents.f_12274_:Lnet/minecraft/sounds/SoundEvent; 214: getstatic #432 // Field net/minecraft/sounds/SoundSource.PLAYERS:Lnet/minecraft/sounds/SoundSource; 217: ldc_w #778 // float 0.7f 220: ldc_w #779 // float 1.1f 223: invokevirtual #438 // Method net/minecraft/world/level/Level.m_6263_:(Lnet/minecraft/world/entity/player/Player;DDDLnet/minecraft/sounds/SoundEvent;Lnet/minecraft/sounds/SoundSource;FF)V 226: iconst_1 227: ireturn Exception table: from to target type 88 103 110 any 110 112 110 any private static boolean hasSpikedShieldUpgrade(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: ldc_w #787 // String spiked 4: invokestatic #791 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachmentData.hasAttachmentPath:(Lnet/minecraft/world/item/ItemStack;Ljava/lang/String;)Z 7: ireturn public static void tickBallisticProtection(net.minecraftforge.event.TickEvent$PlayerTickEvent); Code: 0: aload_0 1: getfield #797 // Field net/minecraftforge/event/TickEvent$PlayerTickEvent.phase:Lnet/minecraftforge/event/TickEvent$Phase; 4: getstatic #800 // Field net/minecraftforge/event/TickEvent$Phase.END:Lnet/minecraftforge/event/TickEvent$Phase; 7: if_acmpne 23 10: aload_0 11: getfield #802 // Field net/minecraftforge/event/TickEvent$PlayerTickEvent.player:Lnet/minecraft/world/entity/player/Player; 14: invokevirtual #803 // Method net/minecraft/world/entity/player/Player.m_9236_:()Lnet/minecraft/world/level/Level; 17: invokevirtual #174 // Method net/minecraft/world/level/Level.m_5776_:()Z 20: ifeq 24 23: return 24: aload_0 25: getfield #802 // Field net/minecraftforge/event/TickEvent$PlayerTickEvent.player:Lnet/minecraft/world/entity/player/Player; 28: getfield #806 // Field net/minecraft/world/entity/player/Player.f_19797_:I 31: bipush 20 33: irem 34: ifeq 38 37: return 38: aload_0 39: getfield #802 // Field net/minecraftforge/event/TickEvent$PlayerTickEvent.player:Lnet/minecraft/world/entity/player/Player; 42: invokestatic #811 // Method com/ogaba/sa_combat/combat/armor/BallisticProtection.tickEquippedVests:(Lnet/minecraft/world/entity/LivingEntity;)V 45: aload_0 46: getfield #802 // Field net/minecraftforge/event/TickEvent$PlayerTickEvent.player:Lnet/minecraft/world/entity/player/Player; 49: astore_2 50: aload_2 51: instanceof #813 // class net/minecraft/server/level/ServerPlayer 54: ifeq 66 57: aload_2 58: checkcast #813 // class net/minecraft/server/level/ServerPlayer 61: astore_1 62: aload_1 63: invokestatic #817 // Method com/ogaba/sa_combat/combat/armor/BallisticProtection.syncHud:(Lnet/minecraft/server/level/ServerPlayer;)V 66: return public static void consumeBallisticProtectionOnDamage(net.minecraftforge.event.entity.living.LivingHurtEvent); Code: 0: aload_0 1: invokevirtual #348 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getEntity:()Lnet/minecraft/world/entity/LivingEntity; 4: invokevirtual #353 // Method net/minecraft/world/entity/LivingEntity.m_9236_:()Lnet/minecraft/world/level/Level; 7: invokevirtual #174 // Method net/minecraft/world/level/Level.m_5776_:()Z 10: ifne 22 13: aload_0 14: invokevirtual #407 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getAmount:()F 17: fconst_0 18: fcmpg 19: ifgt 23 22: return 23: aload_0 24: invokevirtual #348 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getEntity:()Lnet/minecraft/world/entity/LivingEntity; 27: astore_2 28: aload_2 29: instanceof #813 // class net/minecraft/server/level/ServerPlayer 32: ifeq 47 35: aload_2 36: checkcast #813 // class net/minecraft/server/level/ServerPlayer 39: astore_1 40: aload_0 41: invokestatic #824 // Method isBallisticProjectileDamage:(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;)Z 44: ifne 48 47: return 48: aload_1 49: invokestatic #828 // Method com/ogaba/sa_combat/combat/armor/BallisticProtection.findBestEquippedVest:(Lnet/minecraft/world/entity/LivingEntity;)Ljava/util/Optional; 52: aload_0 53: aload_1 54: invokedynamic #838, 0 // InvokeDynamic #8:accept:(Lnet/minecraftforge/event/entity/living/LivingHurtEvent;Lnet/minecraft/server/level/ServerPlayer;)Ljava/util/function/Consumer; 59: invokevirtual #531 // Method java/util/Optional.ifPresent:(Ljava/util/function/Consumer;)V 62: return private static boolean isBallisticProjectileDamage(net.minecraftforge.event.entity.living.LivingHurtEvent); Code: 0: aload_0 1: invokevirtual #357 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getSource:()Lnet/minecraft/world/damagesource/DamageSource; 4: ifnonnull 9 7: iconst_0 8: ireturn 9: aload_0 10: invokevirtual #357 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getSource:()Lnet/minecraft/world/damagesource/DamageSource; 13: getstatic #844 // Field net/minecraft/tags/DamageTypeTags.f_268524_:Lnet/minecraft/tags/TagKey; 16: invokevirtual #848 // Method net/minecraft/world/damagesource/DamageSource.m_269533_:(Lnet/minecraft/tags/TagKey;)Z 19: ifeq 24 22: iconst_1 23: ireturn 24: aload_0 25: invokevirtual #357 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getSource:()Lnet/minecraft/world/damagesource/DamageSource; 28: invokevirtual #366 // Method net/minecraft/world/damagesource/DamageSource.m_7640_:()Lnet/minecraft/world/entity/Entity; 31: astore_1 32: aload_1 33: instanceof #850 // class net/minecraft/world/entity/projectile/Projectile 36: ifeq 47 39: aload_1 40: checkcast #850 // class net/minecraft/world/entity/projectile/Projectile 43: astore_2 44: goto 49 47: iconst_0 48: ireturn 49: iconst_1 50: ireturn public static void climbWithDualIceAxes(net.minecraftforge.event.TickEvent$PlayerTickEvent); Code: 0: aload_0 1: getfield #797 // Field net/minecraftforge/event/TickEvent$PlayerTickEvent.phase:Lnet/minecraftforge/event/TickEvent$Phase; 4: getstatic #800 // Field net/minecraftforge/event/TickEvent$Phase.END:Lnet/minecraftforge/event/TickEvent$Phase; 7: if_acmpeq 11 10: return 11: aload_0 12: getfield #802 // Field net/minecraftforge/event/TickEvent$PlayerTickEvent.player:Lnet/minecraft/world/entity/player/Player; 15: astore_1 16: aload_1 17: invokevirtual #857 // Method net/minecraft/world/entity/player/Player.m_5833_:()Z 20: ifne 44 23: aload_1 24: invokevirtual #860 // Method net/minecraft/world/entity/player/Player.m_21255_:()Z 27: ifne 44 30: aload_1 31: invokevirtual #863 // Method net/minecraft/world/entity/player/Player.m_20072_:()Z 34: ifne 44 37: aload_1 38: invokevirtual #866 // Method net/minecraft/world/entity/player/Player.m_20096_:()Z 41: ifeq 45 44: return 45: aload_1 46: invokestatic #870 // Method hasDualIceAxes:(Lnet/minecraft/world/entity/player/Player;)Z 49: ifeq 59 52: aload_1 53: getfield #873 // Field net/minecraft/world/entity/player/Player.f_19862_:Z 56: ifne 60 59: return 60: aload_1 61: invokevirtual #877 // Method net/minecraft/world/entity/player/Player.m_20184_:()Lnet/minecraft/world/phys/Vec3; 64: astore_2 65: aload_1 66: invokevirtual #880 // Method net/minecraft/world/entity/player/Player.m_6144_:()Z 69: istore_3 70: iload_3 71: ifeq 80 74: ldc2_w #881 // double -0.055d 77: goto 83 80: ldc2_w #885 // double 0.125d 83: dstore 4 85: aload_2 86: getfield #889 // Field net/minecraft/world/phys/Vec3.f_82480_:D 89: dload 4 91: dcmpg 92: ifge 122 95: aload_1 96: aload_2 97: getfield #892 // Field net/minecraft/world/phys/Vec3.f_82479_:D 100: ldc2_w #893 // double 0.72d 103: dmul 104: dload 4 106: aload_2 107: getfield #897 // Field net/minecraft/world/phys/Vec3.f_82481_:D 110: ldc2_w #893 // double 0.72d 113: dmul 114: invokevirtual #901 // Method net/minecraft/world/entity/player/Player.m_20334_:(DDD)V 117: aload_1 118: iconst_1 119: putfield #904 // Field net/minecraft/world/entity/player/Player.f_19812_:Z 122: aload_1 123: fconst_0 124: putfield #907 // Field net/minecraft/world/entity/player/Player.f_19789_:F 127: aload_1 128: getfield #806 // Field net/minecraft/world/entity/player/Player.f_19797_:I 131: bipush 10 133: irem 134: ifne 142 137: aload_1 138: iload_3 139: invokestatic #911 // Method playIceAxeClimbSound:(Lnet/minecraft/world/entity/player/Player;Z)V 142: aload_1 143: invokevirtual #803 // Method net/minecraft/world/entity/player/Player.m_9236_:()Lnet/minecraft/world/level/Level; 146: invokevirtual #174 // Method net/minecraft/world/level/Level.m_5776_:()Z 149: ifne 188 152: aload_1 153: invokevirtual #754 // Method net/minecraft/world/entity/player/Player.m_150110_:()Lnet/minecraft/world/entity/player/Abilities; 156: getfield #759 // Field net/minecraft/world/entity/player/Abilities.f_35937_:Z 159: ifne 188 162: aload_1 163: getfield #806 // Field net/minecraft/world/entity/player/Player.f_19797_:I 166: bipush 20 168: irem 169: ifne 188 172: aload_1 173: invokevirtual #912 // Method net/minecraft/world/entity/player/Player.m_21205_:()Lnet/minecraft/world/item/ItemStack; 176: aload_1 177: invokestatic #916 // Method damageIceAxe:(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/entity/player/Player;)V 180: aload_1 181: invokevirtual #917 // Method net/minecraft/world/entity/player/Player.m_21206_:()Lnet/minecraft/world/item/ItemStack; 184: aload_1 185: invokestatic #916 // Method damageIceAxe:(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/entity/player/Player;)V 188: return private static void playIceAxeClimbSound(net.minecraft.world.entity.player.Player, boolean); Code: 0: iload_1 1: ifeq 10 4: ldc_w #922 // float 0.95f 7: goto 13 10: ldc_w #923 // float 1.05f 13: fstore_2 14: iload_1 15: ifeq 24 18: ldc_w #924 // float 0.72f 21: goto 27 24: ldc_w #925 // float 1.22f 27: fstore_3 28: aload_0 29: invokevirtual #803 // Method net/minecraft/world/entity/player/Player.m_9236_:()Lnet/minecraft/world/level/Level; 32: invokevirtual #174 // Method net/minecraft/world/level/Level.m_5776_:()Z 35: ifeq 81 38: aload_0 39: invokevirtual #803 // Method net/minecraft/world/entity/player/Player.m_9236_:()Lnet/minecraft/world/level/Level; 42: aload_0 43: invokevirtual #926 // Method net/minecraft/world/entity/player/Player.m_20185_:()D 46: aload_0 47: invokevirtual #927 // Method net/minecraft/world/entity/player/Player.m_20186_:()D 50: aload_0 51: invokevirtual #928 // Method net/minecraft/world/entity/player/Player.m_20189_:()D 54: getstatic #931 // Field net/minecraft/sounds/SoundEvents.f_144108_:Lnet/minecraft/sounds/SoundEvent; 57: getstatic #432 // Field net/minecraft/sounds/SoundSource.PLAYERS:Lnet/minecraft/sounds/SoundSource; 60: fload_2 61: fload_3 62: aload_0 63: invokevirtual #932 // Method net/minecraft/world/entity/player/Player.m_217043_:()Lnet/minecraft/util/RandomSource; 66: invokeinterface #732, 1 // InterfaceMethod net/minecraft/util/RandomSource.m_188501_:()F 71: ldc_w #933 // float 0.1f 74: fmul 75: fadd 76: iconst_0 77: invokevirtual #937 // Method net/minecraft/world/level/Level.m_7785_:(DDDLnet/minecraft/sounds/SoundEvent;Lnet/minecraft/sounds/SoundSource;FFZ)V 80: return 81: aload_0 82: invokevirtual #803 // Method net/minecraft/world/entity/player/Player.m_9236_:()Lnet/minecraft/world/level/Level; 85: aload_0 86: aload_0 87: invokevirtual #926 // Method net/minecraft/world/entity/player/Player.m_20185_:()D 90: aload_0 91: invokevirtual #927 // Method net/minecraft/world/entity/player/Player.m_20186_:()D 94: aload_0 95: invokevirtual #928 // Method net/minecraft/world/entity/player/Player.m_20189_:()D 98: getstatic #931 // Field net/minecraft/sounds/SoundEvents.f_144108_:Lnet/minecraft/sounds/SoundEvent; 101: getstatic #432 // Field net/minecraft/sounds/SoundSource.PLAYERS:Lnet/minecraft/sounds/SoundSource; 104: fload_2 105: ldc_w #938 // float 0.55f 108: fmul 109: fload_3 110: aload_0 111: invokevirtual #932 // Method net/minecraft/world/entity/player/Player.m_217043_:()Lnet/minecraft/util/RandomSource; 114: invokeinterface #732, 1 // InterfaceMethod net/minecraft/util/RandomSource.m_188501_:()F 119: ldc_w #933 // float 0.1f 122: fmul 123: fadd 124: invokevirtual #438 // Method net/minecraft/world/level/Level.m_6263_:(Lnet/minecraft/world/entity/player/Player;DDDLnet/minecraft/sounds/SoundEvent;Lnet/minecraft/sounds/SoundSource;FF)V 127: return private static boolean hasDualIceAxes(net.minecraft.world.entity.player.Player); Code: 0: aload_0 1: invokevirtual #912 // Method net/minecraft/world/entity/player/Player.m_21205_:()Lnet/minecraft/world/item/ItemStack; 4: invokestatic #943 // Method isIceAxe:(Lnet/minecraft/world/item/ItemStack;)Z 7: ifeq 24 10: aload_0 11: invokevirtual #917 // Method net/minecraft/world/entity/player/Player.m_21206_:()Lnet/minecraft/world/item/ItemStack; 14: invokestatic #943 // Method isIceAxe:(Lnet/minecraft/world/item/ItemStack;)Z 17: ifeq 24 20: iconst_1 21: goto 25 24: iconst_0 25: ireturn private static boolean isIceAxe(net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: invokevirtual #277 // Method net/minecraft/world/item/ItemStack.m_41619_:()Z 4: ifne 27 7: aload_0 8: getstatic #948 // Field com/ogaba/sa_combat/registry/ModItems.ICE_AXE:Lnet/minecraftforge/registries/RegistryObject; 11: invokevirtual #235 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object; 14: checkcast #950 // class net/minecraft/world/item/Item 17: invokevirtual #954 // Method net/minecraft/world/item/ItemStack.m_150930_:(Lnet/minecraft/world/item/Item;)Z 20: ifeq 27 23: iconst_1 24: goto 28 27: iconst_0 28: ireturn private static void damageIceAxe(net.minecraft.world.item.ItemStack, net.minecraft.world.entity.player.Player); Code: 0: aload_0 1: invokestatic #943 // Method isIceAxe:(Lnet/minecraft/world/item/ItemStack;)Z 4: ifne 8 7: return 8: aload_0 9: iconst_1 10: aload_1 11: invokedynamic #957, 0 // InvokeDynamic #9:accept:()Ljava/util/function/Consumer; 16: invokevirtual #774 // Method net/minecraft/world/item/ItemStack.m_41622_:(ILnet/minecraft/world/entity/LivingEntity;Ljava/util/function/Consumer;)V 19: return public static void onServerTick(net.minecraftforge.event.TickEvent$ServerTickEvent); Code: 0: aload_0 1: getfield #960 // Field net/minecraftforge/event/TickEvent$ServerTickEvent.phase:Lnet/minecraftforge/event/TickEvent$Phase; 4: getstatic #800 // Field net/minecraftforge/event/TickEvent$Phase.END:Lnet/minecraftforge/event/TickEvent$Phase; 7: if_acmpne 17 10: aload_0 11: invokevirtual #964 // Method net/minecraftforge/event/TickEvent$ServerTickEvent.getServer:()Lnet/minecraft/server/MinecraftServer; 14: invokestatic #970 // Method com/ogaba/sa_combat/combat/weapon/ChainsawItem.tickActiveTreeFelling:(Lnet/minecraft/server/MinecraftServer;)V 17: return public static void onPlayerLoggedIn(net.minecraftforge.event.entity.player.PlayerEvent$PlayerLoggedInEvent); Code: 0: aload_0 1: invokevirtual #976 // Method net/minecraftforge/event/entity/player/PlayerEvent$PlayerLoggedInEvent.getEntity:()Lnet/minecraft/world/entity/player/Player; 4: astore_2 5: aload_2 6: instanceof #813 // class net/minecraft/server/level/ServerPlayer 9: ifeq 22 12: aload_2 13: checkcast #813 // class net/minecraft/server/level/ServerPlayer 16: astore_1 17: aload_1 18: iconst_1 19: invokestatic #979 // Method com/ogaba/sa_combat/combat/armor/BallisticProtection.syncHud:(Lnet/minecraft/server/level/ServerPlayer;Z)V 22: return public static void onPlayerLoggedOut(net.minecraftforge.event.entity.player.PlayerEvent$PlayerLoggedOutEvent); Code: 0: aload_0 1: invokevirtual #983 // Method net/minecraftforge/event/entity/player/PlayerEvent$PlayerLoggedOutEvent.getEntity:()Lnet/minecraft/world/entity/player/Player; 4: invokevirtual #987 // Method net/minecraft/world/entity/player/Player.m_20148_:()Ljava/util/UUID; 7: invokestatic #991 // Method com/ogaba/sa_combat/combat/armor/BallisticProtection.clearHudCache:(Ljava/util/UUID;)V 10: return public static void onPlayerClone(net.minecraftforge.event.entity.player.PlayerEvent$Clone); Code: 0: return private static boolean shouldBlockOffhandUse(net.minecraft.world.entity.player.Player, net.minecraft.world.InteractionHand); Code: 0: aload_0 1: ifnull 11 4: aload_1 5: getstatic #1003 // Field net/minecraft/world/InteractionHand.OFF_HAND:Lnet/minecraft/world/InteractionHand; 8: if_acmpeq 13 11: iconst_0 12: ireturn 13: aload_0 14: invokevirtual #912 // Method net/minecraft/world/entity/player/Player.m_21205_:()Lnet/minecraft/world/item/ItemStack; 17: invokevirtual #119 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item; 20: instanceof #1005 // class com/ogaba/sa_combat/combat/weapon/NailGunItem 23: ifne 39 26: aload_0 27: invokevirtual #917 // Method net/minecraft/world/entity/player/Player.m_21206_:()Lnet/minecraft/world/item/ItemStack; 30: invokevirtual #119 // Method net/minecraft/world/item/ItemStack.m_41720_:()Lnet/minecraft/world/item/Item; 33: instanceof #1005 // class com/ogaba/sa_combat/combat/weapon/NailGunItem 36: ifeq 43 39: iconst_1 40: goto 44 43: iconst_0 44: ireturn public static void onNailGunBlockOffhandItem(net.minecraftforge.event.entity.player.PlayerInteractEvent$RightClickItem); Code: 0: aload_0 1: invokevirtual #1009 // Method net/minecraftforge/event/entity/player/PlayerInteractEvent$RightClickItem.getEntity:()Lnet/minecraft/world/entity/player/Player; 4: aload_0 5: invokevirtual #1013 // Method net/minecraftforge/event/entity/player/PlayerInteractEvent$RightClickItem.getHand:()Lnet/minecraft/world/InteractionHand; 8: invokestatic #1015 // Method shouldBlockOffhandUse:(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/InteractionHand;)Z 11: ifeq 19 14: aload_0 15: iconst_1 16: invokevirtual #1016 // Method net/minecraftforge/event/entity/player/PlayerInteractEvent$RightClickItem.setCanceled:(Z)V 19: return public static void onNailGunBlockOffhandBlock(net.minecraftforge.event.entity.player.PlayerInteractEvent$RightClickBlock); Code: 0: aload_0 1: invokevirtual #1020 // Method net/minecraftforge/event/entity/player/PlayerInteractEvent$RightClickBlock.getEntity:()Lnet/minecraft/world/entity/player/Player; 4: aload_0 5: invokevirtual #1021 // Method net/minecraftforge/event/entity/player/PlayerInteractEvent$RightClickBlock.getHand:()Lnet/minecraft/world/InteractionHand; 8: invokestatic #1015 // Method shouldBlockOffhandUse:(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/InteractionHand;)Z 11: ifeq 26 14: aload_0 15: iconst_1 16: invokevirtual #1022 // Method net/minecraftforge/event/entity/player/PlayerInteractEvent$RightClickBlock.setCanceled:(Z)V 19: aload_0 20: getstatic #1028 // Field net/minecraft/world/InteractionResult.FAIL:Lnet/minecraft/world/InteractionResult; 23: invokevirtual #1032 // Method net/minecraftforge/event/entity/player/PlayerInteractEvent$RightClickBlock.setCancellationResult:(Lnet/minecraft/world/InteractionResult;)V 26: return public static void onNailGunBlockOffhandEntity(net.minecraftforge.event.entity.player.PlayerInteractEvent$EntityInteract); Code: 0: aload_0 1: invokevirtual #1036 // Method net/minecraftforge/event/entity/player/PlayerInteractEvent$EntityInteract.getEntity:()Lnet/minecraft/world/entity/player/Player; 4: aload_0 5: invokevirtual #1037 // Method net/minecraftforge/event/entity/player/PlayerInteractEvent$EntityInteract.getHand:()Lnet/minecraft/world/InteractionHand; 8: invokestatic #1015 // Method shouldBlockOffhandUse:(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/InteractionHand;)Z 11: ifeq 26 14: aload_0 15: iconst_1 16: invokevirtual #1038 // Method net/minecraftforge/event/entity/player/PlayerInteractEvent$EntityInteract.setCanceled:(Z)V 19: aload_0 20: getstatic #1028 // Field net/minecraft/world/InteractionResult.FAIL:Lnet/minecraft/world/InteractionResult; 23: invokevirtual #1039 // Method net/minecraftforge/event/entity/player/PlayerInteractEvent$EntityInteract.setCancellationResult:(Lnet/minecraft/world/InteractionResult;)V 26: return private static void lambda$consumeBallisticProtectionOnDamage$5(net.minecraftforge.event.entity.living.LivingHurtEvent, net.minecraft.server.level.ServerPlayer, net.minecraft.world.item.ItemStack); Code: 0: aload_0 1: invokevirtual #407 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getAmount:()F 4: fstore_3 5: aload_0 6: aload_2 7: fload_3 8: invokestatic #1044 // Method com/ogaba/sa_combat/combat/armor/BallisticProtection.reduceProjectileDamage:(Lnet/minecraft/world/item/ItemStack;F)F 11: invokevirtual #411 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.setAmount:(F)V 14: aload_2 15: fload_3 16: invokestatic #1048 // Method com/ogaba/sa_combat/combat/armor/BallisticProtection.consumeProtection:(Lnet/minecraft/world/item/ItemStack;F)I 19: ifle 26 22: aload_1 23: invokestatic #817 // Method com/ogaba/sa_combat/combat/armor/BallisticProtection.syncHud:(Lnet/minecraft/server/level/ServerPlayer;)V 26: return private static void lambda$procExternalWeaponAbilities$4(java.util.List, net.minecraftforge.event.entity.living.LivingHurtEvent, net.minecraft.world.entity.LivingEntity, com.ogaba.sa_combat.combat.modifier.WeaponModifier); Code: 0: aload_3 1: invokevirtual #1055 // Method com/ogaba/sa_combat/combat/modifier/WeaponModifier.createGrantedAbility:()Lcom/ogaba/sa_combat/combat/system/AbilityInstance; 4: astore 4 6: aload 4 8: ifnull 20 11: aload_0 12: aload 4 14: invokeinterface #520, 2 // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z 19: pop 20: aload_3 21: aload_1 22: invokevirtual #348 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getEntity:()Lnet/minecraft/world/entity/LivingEntity; 25: aload_2 26: invokevirtual #1059 // Method com/ogaba/sa_combat/combat/modifier/WeaponModifier.applyOnHitEffects:(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/LivingEntity;)V 29: return private static void lambda$procExternalWeaponAbilities$3(java.util.List, net.minecraftforge.event.entity.living.LivingHurtEvent, net.minecraft.world.entity.LivingEntity, com.ogaba.sa_combat.combat.attachment.WeaponAttachment); Code: 0: aload_3 1: invokevirtual #1066 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachment.createGrantedAbility:()Lcom/ogaba/sa_combat/combat/system/AbilityInstance; 4: astore 4 6: aload 4 8: ifnull 20 11: aload_0 12: aload 4 14: invokeinterface #520, 2 // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z 19: pop 20: aload_3 21: aload_1 22: invokevirtual #348 // Method net/minecraftforge/event/entity/living/LivingHurtEvent.getEntity:()Lnet/minecraft/world/entity/LivingEntity; 25: aload_2 26: invokevirtual #1067 // Method com/ogaba/sa_combat/combat/attachment/WeaponAttachment.applyOnHitEffects:(Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/entity/LivingEntity;)V 29: return private static boolean lambda$procExternalWeaponAbilities$2(com.ogaba.sa_combat.combat.system.AbilityInstance); Code: 0: aload_0 1: ifnull 8 4: iconst_1 5: goto 9 8: iconst_0 9: ireturn private static com.ogaba.sa_combat.combat.system.AbilityInstance lambda$procExternalWeaponAbilities$1(com.ogaba.sa_combat.combat.upgrade.WeaponUpgradeData$Entry, com.ogaba.sa_combat.combat.upgrade.WeaponUpgrade); Code: 0: aload_1 1: aload_0 2: invokevirtual #1072 // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeData$Entry.level:()I 5: invokevirtual #1078 // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgrade.createAbility:(I)Lcom/ogaba/sa_combat/combat/system/AbilityInstance; 8: areturn private static boolean lambda$procExternalWeaponAbilities$0(com.ogaba.sa_combat.combat.upgrade.WeaponUpgrade); Code: 0: aload_0 1: invokevirtual #1083 // Method com/ogaba/sa_combat/combat/upgrade/WeaponUpgrade.category:()Lcom/ogaba/sa_combat/combat/upgrade/WeaponUpgradeCategory; 4: getstatic #1089 // Field com/ogaba/sa_combat/combat/upgrade/WeaponUpgradeCategory.ABILITY:Lcom/ogaba/sa_combat/combat/upgrade/WeaponUpgradeCategory; 7: if_acmpne 14 10: iconst_1 11: goto 15 14: iconst_0 15: ireturn static {}; Code: 0: ldc_w #1092 // String 13a24b02-d971-4ee7-879c-1c7068a6bb71 3: invokestatic #1098 // Method java/util/UUID.fromString:(Ljava/lang/String;)Ljava/util/UUID; 6: putstatic #296 // Field EXTERNAL_UPGRADE_DAMAGE_UUID:Ljava/util/UUID; 9: ldc_w #1100 // String 457d3b0c-c7b7-43a4-8395-01f82ec1bdb2 12: invokestatic #1098 // Method java/util/UUID.fromString:(Ljava/lang/String;)Ljava/util/UUID; 15: putstatic #307 // Field EXTERNAL_UPGRADE_SPEED_UUID:Ljava/util/UUID; 18: ldc_w #1102 // String df109f67-5b6d-4de4-9a1b-c75443c0f1b2 21: invokestatic #1098 // Method java/util/UUID.fromString:(Ljava/lang/String;)Ljava/util/UUID; 24: putstatic #318 // Field EXTERNAL_UPGRADE_KNOCKBACK_UUID:Ljava/util/UUID; 27: ldc_w #1104 // String 9d46b9e9-46cb-4ab3-b2a0-c0e331cce312 30: invokestatic #1098 // Method java/util/UUID.fromString:(Ljava/lang/String;)Ljava/util/UUID; 33: putstatic #331 // Field EXTERNAL_UPGRADE_REACH_UUID:Ljava/util/UUID; 36: ldc_w #1106 // String 11d92754-4e96-4c9e-9b25-d8945bc43b24 39: invokestatic #1098 // Method java/util/UUID.fromString:(Ljava/lang/String;)Ljava/util/UUID; 42: putstatic #143 // Field TACZ_VEST_BULLET_RESISTANCE_UUID:Ljava/util/UUID; 45: new #1108 // class net/minecraft/resources/ResourceLocation 48: dup 49: ldc_w #1110 // String tacz 52: ldc_w #1112 // String tacz.bullet_resistance 55: invokespecial #1115 // Method net/minecraft/resources/ResourceLocation."":(Ljava/lang/String;Ljava/lang/String;)V 58: putstatic #129 // Field TACZ_BULLET_RESISTANCE_ID:Lnet/minecraft/resources/ResourceLocation; 61: iconst_0 62: putstatic #446 // Field proccingExternalAbility:Z 65: iconst_0 66: putstatic #645 // Field proccingShieldThorns:Z 69: return }