Compiled from "ThrownHunterAxe.java"
public class com.xoxech.pumpkinhunter.entity.ThrownHunterAxe extends net.minecraft.world.entity.projectile.ThrowableItemProjectile {
  private boolean returning;

  private int loyalty;

  public com.xoxech.pumpkinhunter.entity.ThrownHunterAxe(net.minecraft.world.entity.EntityType<? extends com.xoxech.pumpkinhunter.entity.ThrownHunterAxe>, net.minecraft.world.level.Level);
    Code:
       0: aload_0
       1: aload_1
       2: aload_2
       3: invokespecial #14                 // Method net/minecraft/world/entity/projectile/ThrowableItemProjectile."<init>":(Lnet/minecraft/world/entity/EntityType;Lnet/minecraft/world/level/Level;)V
       6: return

  public com.xoxech.pumpkinhunter.entity.ThrownHunterAxe(net.minecraft.world.entity.EntityType<? extends com.xoxech.pumpkinhunter.entity.ThrownHunterAxe>, net.minecraft.world.entity.LivingEntity, net.minecraft.world.level.Level, net.minecraft.world.item.ItemStack);
    Code:
       0: aload_0
       1: aload_1
       2: aload_2
       3: aload_3
       4: invokespecial #19                 // Method net/minecraft/world/entity/projectile/ThrowableItemProjectile."<init>":(Lnet/minecraft/world/entity/EntityType;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/level/Level;)V
       7: aload_0
       8: aload         4
      10: invokevirtual #23                 // Method m_37446_:(Lnet/minecraft/world/item/ItemStack;)V
      13: aload_0
      14: iconst_1
      15: putfield      #25                 // Field loyalty:I
      18: return

  protected net.minecraft.world.item.Item m_7881_();
    Code:
       0: getstatic     #33                 // Field com/xoxech/pumpkinhunter/PumpkinHunterMod.HUNTERS_AXE:Lnet/minecraftforge/registries/RegistryObject;
       3: invokevirtual #39                 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object;
       6: checkcast     #41                 // class net/minecraft/world/item/Item
       9: areturn

  protected void m_5790_(net.minecraft.world.phys.EntityHitResult);
    Code:
       0: aload_1
       1: invokevirtual #49                 // Method net/minecraft/world/phys/EntityHitResult.m_82443_:()Lnet/minecraft/world/entity/Entity;
       4: astore_2
       5: aload_0
       6: invokevirtual #52                 // Method m_19749_:()Lnet/minecraft/world/entity/Entity;
       9: astore_3
      10: aload_2
      11: aload_0
      12: invokevirtual #56                 // Method m_9236_:()Lnet/minecraft/world/level/Level;
      15: invokevirtual #62                 // Method net/minecraft/world/level/Level.m_269111_:()Lnet/minecraft/world/damagesource/DamageSources;
      18: aload_0
      19: aload_3
      20: invokevirtual #68                 // Method net/minecraft/world/damagesource/DamageSources.m_269390_:(Lnet/minecraft/world/entity/Entity;Lnet/minecraft/world/entity/Entity;)Lnet/minecraft/world/damagesource/DamageSource;
      23: ldc           #69                 // float 8.0f
      25: invokevirtual #75                 // Method net/minecraft/world/entity/Entity.m_6469_:(Lnet/minecraft/world/damagesource/DamageSource;F)Z
      28: pop
      29: aload_0
      30: getstatic     #81                 // Field net/minecraft/sounds/SoundEvents.f_12514_:Lnet/minecraft/sounds/SoundEvent;
      33: fconst_1
      34: fconst_1
      35: invokevirtual #85                 // Method m_5496_:(Lnet/minecraft/sounds/SoundEvent;FF)V
      38: aload_0
      39: aload_2
      40: invokespecial #89                 // Method tryChanneling:(Lnet/minecraft/world/entity/Entity;)V
      43: aload_0
      44: invokespecial #93                 // Method finishImpact:()V
      47: return

  protected void m_8060_(net.minecraft.world.phys.BlockHitResult);
    Code:
       0: aload_0
       1: getstatic     #100                // Field net/minecraft/sounds/SoundEvents.f_12515_:Lnet/minecraft/sounds/SoundEvent;
       4: fconst_1
       5: fconst_1
       6: invokevirtual #85                 // Method m_5496_:(Lnet/minecraft/sounds/SoundEvent;FF)V
       9: aload_0
      10: invokevirtual #93                 // Method finishImpact:()V
      13: return

  private void finishImpact();
    Code:
       0: aload_0
       1: invokevirtual #56                 // Method m_9236_:()Lnet/minecraft/world/level/Level;
       4: invokevirtual #104                // Method net/minecraft/world/level/Level.m_5776_:()Z
       7: ifeq          11
      10: return
      11: aload_0
      12: getfield      #25                 // Field loyalty:I
      15: ifle          40
      18: aload_0
      19: invokevirtual #52                 // Method m_19749_:()Lnet/minecraft/world/entity/Entity;
      22: ifnull        40
      25: aload_0
      26: iconst_1
      27: putfield      #106                // Field returning:Z
      30: aload_0
      31: getstatic     #109                // Field net/minecraft/sounds/SoundEvents.f_12516_:Lnet/minecraft/sounds/SoundEvent;
      34: fconst_1
      35: fconst_1
      36: invokevirtual #85                 // Method m_5496_:(Lnet/minecraft/sounds/SoundEvent;FF)V
      39: return
      40: aload_0
      41: invokevirtual #56                 // Method m_9236_:()Lnet/minecraft/world/level/Level;
      44: checkcast     #111                // class net/minecraft/server/level/ServerLevel
      47: astore_1
      48: new           #113                // class net/minecraft/world/entity/item/ItemEntity
      51: dup
      52: aload_1
      53: aload_0
      54: invokevirtual #117                // Method m_20185_:()D
      57: aload_0
      58: invokevirtual #120                // Method m_20186_:()D
      61: aload_0
      62: invokevirtual #123                // Method m_20189_:()D
      65: aload_0
      66: invokevirtual #127                // Method m_7846_:()Lnet/minecraft/world/item/ItemStack;
      69: invokevirtual #132                // Method net/minecraft/world/item/ItemStack.m_41777_:()Lnet/minecraft/world/item/ItemStack;
      72: invokespecial #135                // Method net/minecraft/world/entity/item/ItemEntity."<init>":(Lnet/minecraft/world/level/Level;DDDLnet/minecraft/world/item/ItemStack;)V
      75: astore_2
      76: aload_1
      77: aload_2
      78: invokevirtual #139                // Method net/minecraft/server/level/ServerLevel.m_7967_:(Lnet/minecraft/world/entity/Entity;)Z
      81: pop
      82: aload_0
      83: invokevirtual #142                // Method m_146870_:()V
      86: return

  private void tryChanneling(net.minecraft.world.entity.Entity);
    Code:
       0: return

  public void m_8119_();
    Code:
       0: aload_0
       1: getfield      #106                // Field returning:Z
       4: ifeq          271
       7: aload_0
       8: invokevirtual #52                 // Method m_19749_:()Lnet/minecraft/world/entity/Entity;
      11: astore_1
      12: aload_1
      13: ifnull        35
      16: aload_1
      17: instanceof    #145                // class net/minecraft/world/entity/LivingEntity
      20: ifeq          45
      23: aload_1
      24: checkcast     #145                // class net/minecraft/world/entity/LivingEntity
      27: astore_2
      28: aload_2
      29: invokevirtual #148                // Method net/minecraft/world/entity/LivingEntity.m_21224_:()Z
      32: ifeq          45
      35: aload_0
      36: iconst_0
      37: putfield      #25                 // Field loyalty:I
      40: aload_0
      41: invokevirtual #93                 // Method finishImpact:()V
      44: return
      45: aload_1
      46: invokevirtual #149                // Method net/minecraft/world/entity/Entity.m_20185_:()D
      49: aload_0
      50: invokevirtual #117                // Method m_20185_:()D
      53: dsub
      54: dstore_2
      55: aload_1
      56: invokevirtual #152                // Method net/minecraft/world/entity/Entity.m_20188_:()D
      59: aload_0
      60: invokevirtual #120                // Method m_20186_:()D
      63: dsub
      64: dstore        4
      66: aload_1
      67: invokevirtual #153                // Method net/minecraft/world/entity/Entity.m_20189_:()D
      70: aload_0
      71: invokevirtual #123                // Method m_20189_:()D
      74: dsub
      75: dstore        6
      77: dload_2
      78: dload_2
      79: dmul
      80: dload         4
      82: dload         4
      84: dmul
      85: dadd
      86: dload         6
      88: dload         6
      90: dmul
      91: dadd
      92: dstore        8
      94: dload         8
      96: ldc2_w        #154                // double 2.25d
      99: dcmpg
     100: ifge          213
     103: aload_1
     104: instanceof    #157                // class net/minecraft/world/entity/player/Player
     107: ifeq          213
     110: aload_1
     111: checkcast     #157                // class net/minecraft/world/entity/player/Player
     114: astore        10
     116: aload_0
     117: invokevirtual #56                 // Method m_9236_:()Lnet/minecraft/world/level/Level;
     120: invokevirtual #104                // Method net/minecraft/world/level/Level.m_5776_:()Z
     123: ifne          213
     126: aload         10
     128: aload_0
     129: invokevirtual #127                // Method m_7846_:()Lnet/minecraft/world/item/ItemStack;
     132: invokevirtual #132                // Method net/minecraft/world/item/ItemStack.m_41777_:()Lnet/minecraft/world/item/ItemStack;
     135: invokevirtual #161                // Method net/minecraft/world/entity/player/Player.m_36356_:(Lnet/minecraft/world/item/ItemStack;)Z
     138: ifne          185
     141: aload_0
     142: invokevirtual #56                 // Method m_9236_:()Lnet/minecraft/world/level/Level;
     145: checkcast     #111                // class net/minecraft/server/level/ServerLevel
     148: new           #113                // class net/minecraft/world/entity/item/ItemEntity
     151: dup
     152: aload_0
     153: invokevirtual #56                 // Method m_9236_:()Lnet/minecraft/world/level/Level;
     156: aload_1
     157: invokevirtual #149                // Method net/minecraft/world/entity/Entity.m_20185_:()D
     160: aload_1
     161: invokevirtual #162                // Method net/minecraft/world/entity/Entity.m_20186_:()D
     164: aload_1
     165: invokevirtual #153                // Method net/minecraft/world/entity/Entity.m_20189_:()D
     168: aload_0
     169: invokevirtual #127                // Method m_7846_:()Lnet/minecraft/world/item/ItemStack;
     172: invokevirtual #132                // Method net/minecraft/world/item/ItemStack.m_41777_:()Lnet/minecraft/world/item/ItemStack;
     175: invokespecial #135                // Method net/minecraft/world/entity/item/ItemEntity."<init>":(Lnet/minecraft/world/level/Level;DDDLnet/minecraft/world/item/ItemStack;)V
     178: invokevirtual #139                // Method net/minecraft/server/level/ServerLevel.m_7967_:(Lnet/minecraft/world/entity/Entity;)Z
     181: pop
     182: goto          208
     185: aload         10
     187: invokevirtual #166                // Method net/minecraft/world/entity/player/Player.m_36335_:()Lnet/minecraft/world/item/ItemCooldowns;
     190: getstatic     #33                 // Field com/xoxech/pumpkinhunter/PumpkinHunterMod.HUNTERS_AXE:Lnet/minecraftforge/registries/RegistryObject;
     193: invokevirtual #39                 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object;
     196: checkcast     #41                 // class net/minecraft/world/item/Item
     199: sipush        140
     202: invokevirtual #172                // Method net/minecraft/world/item/ItemCooldowns.m_41524_:(Lnet/minecraft/world/item/Item;I)V
     205: goto          208
     208: aload_0
     209: invokevirtual #142                // Method m_146870_:()V
     212: return
     213: dload         8
     215: invokestatic  #178                // Method java/lang/Math.sqrt:(D)D
     218: dstore        10
     220: ldc2_w        #179                // double 0.35d
     223: ldc2_w        #181                // double 0.08d
     226: aload_0
     227: getfield      #25                 // Field loyalty:I
     230: i2d
     231: dmul
     232: dadd
     233: dstore        12
     235: dload         10
     237: ldc2_w        #183                // double 1.0E-4d
     240: dcmpl
     241: ifle          271
     244: aload_0
     245: dload_2
     246: dload         10
     248: ddiv
     249: dload         12
     251: dmul
     252: dload         4
     254: dload         10
     256: ddiv
     257: dload         12
     259: dmul
     260: dload         6
     262: dload         10
     264: ddiv
     265: dload         12
     267: dmul
     268: invokevirtual #188                // Method m_20334_:(DDD)V
     271: aload_0
     272: invokespecial #190                // Method net/minecraft/world/entity/projectile/ThrowableItemProjectile.m_8119_:()V
     275: return

  protected float m_7139_();
    Code:
       0: aload_0
       1: getfield      #106                // Field returning:Z
       4: ifeq          11
       7: fconst_0
       8: goto          13
      11: ldc           #193                // float 0.03f
      13: freturn
}
