===== com.xoxech.pumpkinhunter.item.HunterAxeItem =====
Compiled from "HunterAxeItem.java"
public class com.xoxech.pumpkinhunter.item.HunterAxeItem extends net.minecraft.world.item.AxeItem {
  private static final int THROW_CHARGE;

  private static final int THROW_COOLDOWN;

  public com.xoxech.pumpkinhunter.item.HunterAxeItem();
    Code:
       0: aload_0
       1: ldc           #19                 // String NETHERITE
       3: invokestatic  #25                 // Method net/minecraft/world/item/Tiers.valueOf:(Ljava/lang/String;)Lnet/minecraft/world/item/Tiers;
       6: ldc           #26                 // float 6.0f
       8: ldc           #27                 // float -3.2f
      10: new           #7                  // class net/minecraft/world/item/Item$Properties
      13: dup
      14: invokespecial #29                 // Method net/minecraft/world/item/Item$Properties."<init>":()V
      17: invokevirtual #33                 // Method net/minecraft/world/item/Item$Properties.m_41486_:()Lnet/minecraft/world/item/Item$Properties;
      20: invokespecial #36                 // Method net/minecraft/world/item/AxeItem."<init>":(Lnet/minecraft/world/item/Tier;FFLnet/minecraft/world/item/Item$Properties;)V
      23: return

  private static void ensureLoyalty(net.minecraft.world.item.ItemStack);
    Code:
       0: return

  public net.minecraft.world.item.ItemStack m_7968_();
    Code:
       0: new           #42                 // class net/minecraft/world/item/ItemStack
       3: dup
       4: aload_0
       5: invokespecial #45                 // Method net/minecraft/world/item/ItemStack."<init>":(Lnet/minecraft/world/level/ItemLike;)V
       8: astore_1
       9: aload_1
      10: invokestatic  #47                 // Method ensureLoyalty:(Lnet/minecraft/world/item/ItemStack;)V
      13: aload_1
      14: areturn

  public void m_6883_(net.minecraft.world.item.ItemStack, net.minecraft.world.level.Level, net.minecraft.world.entity.Entity, int, boolean);
    Code:
       0: aload_1
       1: invokestatic  #47                 // Method ensureLoyalty:(Lnet/minecraft/world/item/ItemStack;)V
       4: aload_0
       5: aload_1
       6: aload_2
       7: aload_3
       8: iload         4
      10: iload         5
      12: invokespecial #51                 // Method net/minecraft/world/item/AxeItem.m_6883_:(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/Entity;IZ)V
      15: return

  public boolean m_7579_(net.minecraft.world.item.ItemStack, net.minecraft.world.entity.LivingEntity, net.minecraft.world.entity.LivingEntity);
    Code:
       0: iconst_1
       1: ireturn

  public boolean m_6813_(net.minecraft.world.item.ItemStack, net.minecraft.world.level.Level, net.minecraft.world.level.block.state.BlockState, net.minecraft.core.BlockPos, net.minecraft.world.entity.LivingEntity);
    Code:
       0: iconst_1
       1: ireturn

  public net.minecraft.network.chat.Component m_7626_(net.minecraft.world.item.ItemStack);
    Code:
       0: ldc           #59                 // String item.pumpkinhunter.hunters_axe
       2: invokestatic  #65                 // InterfaceMethod net/minecraft/network/chat/Component.m_237115_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent;
       5: getstatic     #71                 // Field net/minecraft/ChatFormatting.DARK_RED:Lnet/minecraft/ChatFormatting;
       8: invokevirtual #77                 // Method net/minecraft/network/chat/MutableComponent.m_130940_:(Lnet/minecraft/ChatFormatting;)Lnet/minecraft/network/chat/MutableComponent;
      11: areturn

  public void m_7373_(net.minecraft.world.item.ItemStack, net.minecraft.world.level.Level, java.util.List<net.minecraft.network.chat.Component>, net.minecraft.world.item.TooltipFlag);
    Code:
       0: aload_0
       1: aload_1
       2: aload_2
       3: aload_3
       4: aload         4
       6: invokespecial #82                 // Method net/minecraft/world/item/AxeItem.m_7373_:(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/level/Level;Ljava/util/List;Lnet/minecraft/world/item/TooltipFlag;)V
       9: aload_3
      10: ldc           #84                 // String tooltip.pumpkinhunter.hunters_axe.1
      12: invokestatic  #65                 // InterfaceMethod net/minecraft/network/chat/Component.m_237115_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent;
      15: getstatic     #87                 // Field net/minecraft/ChatFormatting.GRAY:Lnet/minecraft/ChatFormatting;
      18: invokevirtual #77                 // Method net/minecraft/network/chat/MutableComponent.m_130940_:(Lnet/minecraft/ChatFormatting;)Lnet/minecraft/network/chat/MutableComponent;
      21: invokeinterface #93,  2           // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
      26: pop
      27: aload_3
      28: ldc           #95                 // String tooltip.pumpkinhunter.hunters_axe.2
      30: invokestatic  #65                 // InterfaceMethod net/minecraft/network/chat/Component.m_237115_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent;
      33: getstatic     #87                 // Field net/minecraft/ChatFormatting.GRAY:Lnet/minecraft/ChatFormatting;
      36: invokevirtual #77                 // Method net/minecraft/network/chat/MutableComponent.m_130940_:(Lnet/minecraft/ChatFormatting;)Lnet/minecraft/network/chat/MutableComponent;
      39: invokeinterface #93,  2           // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
      44: pop
      45: aload_3
      46: ldc           #97                 // String tooltip.pumpkinhunter.hunters_axe.3
      48: invokestatic  #65                 // InterfaceMethod net/minecraft/network/chat/Component.m_237115_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent;
      51: getstatic     #87                 // Field net/minecraft/ChatFormatting.GRAY:Lnet/minecraft/ChatFormatting;
      54: invokevirtual #77                 // Method net/minecraft/network/chat/MutableComponent.m_130940_:(Lnet/minecraft/ChatFormatting;)Lnet/minecraft/network/chat/MutableComponent;
      57: invokeinterface #93,  2           // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
      62: pop
      63: aload_3
      64: ldc           #99                 // String tooltip.pumpkinhunter.hunters_axe.4
      66: invokestatic  #65                 // InterfaceMethod net/minecraft/network/chat/Component.m_237115_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent;
      69: getstatic     #87                 // Field net/minecraft/ChatFormatting.GRAY:Lnet/minecraft/ChatFormatting;
      72: invokevirtual #77                 // Method net/minecraft/network/chat/MutableComponent.m_130940_:(Lnet/minecraft/ChatFormatting;)Lnet/minecraft/network/chat/MutableComponent;
      75: invokeinterface #93,  2           // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
      80: pop
      81: aload_3
      82: ldc           #101                // String tooltip.pumpkinhunter.hunters_axe.5
      84: invokestatic  #65                 // InterfaceMethod net/minecraft/network/chat/Component.m_237115_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent;
      87: getstatic     #87                 // Field net/minecraft/ChatFormatting.GRAY:Lnet/minecraft/ChatFormatting;
      90: invokevirtual #77                 // Method net/minecraft/network/chat/MutableComponent.m_130940_:(Lnet/minecraft/ChatFormatting;)Lnet/minecraft/network/chat/MutableComponent;
      93: invokeinterface #93,  2           // InterfaceMethod java/util/List.add:(Ljava/lang/Object;)Z
      98: pop
      99: return

  public net.minecraft.world.item.UseAnim m_6164_(net.minecraft.world.item.ItemStack);
    Code:
       0: getstatic     #109                // Field net/minecraft/world/item/UseAnim.SPEAR:Lnet/minecraft/world/item/UseAnim;
       3: areturn

  public int m_8105_(net.minecraft.world.item.ItemStack);
    Code:
       0: ldc           #112                // int 72000
       2: ireturn

  public net.minecraft.world.InteractionResultHolder<net.minecraft.world.item.ItemStack> m_7203_(net.minecraft.world.level.Level, net.minecraft.world.entity.player.Player, net.minecraft.world.InteractionHand);
    Code:
       0: aload_2
       1: aload_3
       2: invokevirtual #121                // Method net/minecraft/world/entity/player/Player.m_21120_:(Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/item/ItemStack;
       5: astore        4
       7: aload         4
       9: invokestatic  #47                 // Method ensureLoyalty:(Lnet/minecraft/world/item/ItemStack;)V
      12: aload_2
      13: invokevirtual #125                // Method net/minecraft/world/entity/player/Player.m_36335_:()Lnet/minecraft/world/item/ItemCooldowns;
      16: aload_0
      17: invokevirtual #131                // Method net/minecraft/world/item/ItemCooldowns.m_41519_:(Lnet/minecraft/world/item/Item;)Z
      20: ifeq          29
      23: aload         4
      25: invokestatic  #137                // Method net/minecraft/world/InteractionResultHolder.m_19100_:(Ljava/lang/Object;)Lnet/minecraft/world/InteractionResultHolder;
      28: areturn
      29: aload_2
      30: aload_3
      31: invokevirtual #141                // Method net/minecraft/world/entity/player/Player.m_6672_:(Lnet/minecraft/world/InteractionHand;)V
      34: aload         4
      36: invokestatic  #144                // Method net/minecraft/world/InteractionResultHolder.m_19096_:(Ljava/lang/Object;)Lnet/minecraft/world/InteractionResultHolder;
      39: areturn

  public void m_5551_(net.minecraft.world.item.ItemStack, net.minecraft.world.level.Level, net.minecraft.world.entity.LivingEntity, int);
    Code:
       0: aload_0
       1: aload_1
       2: invokevirtual #148                // Method m_8105_:(Lnet/minecraft/world/item/ItemStack;)I
       5: iload         4
       7: isub
       8: istore        5
      10: iload         5
      12: bipush        15
      14: if_icmplt     37
      17: aload_3
      18: instanceof    #117                // class net/minecraft/world/entity/player/Player
      21: ifeq          37
      24: aload_3
      25: checkcast     #117                // class net/minecraft/world/entity/player/Player
      28: astore        6
      30: aload_2
      31: invokevirtual #154                // Method net/minecraft/world/level/Level.m_5776_:()Z
      34: ifeq          38
      37: return
      38: aload_1
      39: invokestatic  #47                 // Method ensureLoyalty:(Lnet/minecraft/world/item/ItemStack;)V
      42: aload_1
      43: invokevirtual #157                // Method net/minecraft/world/item/ItemStack.m_41777_:()Lnet/minecraft/world/item/ItemStack;
      46: astore        7
      48: aload         7
      50: iconst_1
      51: invokevirtual #161                // Method net/minecraft/world/item/ItemStack.m_41764_:(I)V
      54: new           #163                // class com/xoxech/pumpkinhunter/entity/ThrownHunterAxe
      57: dup
      58: getstatic     #169                // Field com/xoxech/pumpkinhunter/PumpkinHunterMod.THROWN_HUNTERS_AXE:Lnet/minecraftforge/registries/RegistryObject;
      61: invokevirtual #175                // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object;
      64: checkcast     #177                // class net/minecraft/world/entity/EntityType
      67: aload         6
      69: aload_2
      70: aload         7
      72: invokespecial #180                // Method com/xoxech/pumpkinhunter/entity/ThrownHunterAxe."<init>":(Lnet/minecraft/world/entity/EntityType;Lnet/minecraft/world/entity/LivingEntity;Lnet/minecraft/world/level/Level;Lnet/minecraft/world/item/ItemStack;)V
      75: astore        8
      77: aload         8
      79: aload         6
      81: aload         6
      83: invokevirtual #184                // Method net/minecraft/world/entity/player/Player.m_146909_:()F
      86: aload         6
      88: invokevirtual #187                // Method net/minecraft/world/entity/player/Player.m_146908_:()F
      91: fconst_0
      92: ldc           #188                // float 2.5f
      94: fconst_1
      95: invokevirtual #192                // Method com/xoxech/pumpkinhunter/entity/ThrownHunterAxe.m_37251_:(Lnet/minecraft/world/entity/Entity;FFFFF)V
      98: aload_2
      99: checkcast     #194                // class net/minecraft/server/level/ServerLevel
     102: aload         8
     104: invokevirtual #198                // Method net/minecraft/server/level/ServerLevel.m_7967_:(Lnet/minecraft/world/entity/Entity;)Z
     107: pop
     108: aload         6
     110: getstatic     #204                // Field net/minecraft/sounds/SoundEvents.f_12520_:Lnet/minecraft/sounds/SoundEvent;
     113: fconst_1
     114: fconst_1
     115: invokevirtual #208                // Method net/minecraft/world/entity/player/Player.m_5496_:(Lnet/minecraft/sounds/SoundEvent;FF)V
     118: aload         6
     120: getstatic     #214                // Field net/minecraft/world/InteractionHand.MAIN_HAND:Lnet/minecraft/world/InteractionHand;
     123: invokevirtual #121                // Method net/minecraft/world/entity/player/Player.m_21120_:(Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/item/ItemStack;
     126: aload_1
     127: if_acmpne     144
     130: aload         6
     132: getstatic     #214                // Field net/minecraft/world/InteractionHand.MAIN_HAND:Lnet/minecraft/world/InteractionHand;
     135: getstatic     #218                // Field net/minecraft/world/item/ItemStack.f_41583_:Lnet/minecraft/world/item/ItemStack;
     138: invokevirtual #222                // Method net/minecraft/world/entity/player/Player.m_21008_:(Lnet/minecraft/world/InteractionHand;Lnet/minecraft/world/item/ItemStack;)V
     141: goto          155
     144: aload         6
     146: getstatic     #225                // Field net/minecraft/world/InteractionHand.OFF_HAND:Lnet/minecraft/world/InteractionHand;
     149: getstatic     #218                // Field net/minecraft/world/item/ItemStack.f_41583_:Lnet/minecraft/world/item/ItemStack;
     152: invokevirtual #222                // Method net/minecraft/world/entity/player/Player.m_21008_:(Lnet/minecraft/world/InteractionHand;Lnet/minecraft/world/item/ItemStack;)V
     155: return

  public boolean m_41386_(net.minecraft.world.damagesource.DamageSource);
    Code:
       0: aload_1
       1: getstatic     #233                // Field net/minecraft/world/damagesource/DamageTypes.f_268565_:Lnet/minecraft/resources/ResourceKey;
       4: invokevirtual #239                // Method net/minecraft/world/damagesource/DamageSource.m_276093_:(Lnet/minecraft/resources/ResourceKey;)Z
       7: ifne          20
      10: aload_1
      11: getstatic     #242                // Field net/minecraft/world/damagesource/DamageTypes.f_268448_:Lnet/minecraft/resources/ResourceKey;
      14: invokevirtual #239                // Method net/minecraft/world/damagesource/DamageSource.m_276093_:(Lnet/minecraft/resources/ResourceKey;)Z
      17: ifeq          22
      20: iconst_0
      21: ireturn
      22: aload_0
      23: aload_1
      24: invokespecial #244                // Method net/minecraft/world/item/AxeItem.m_41386_:(Lnet/minecraft/world/damagesource/DamageSource;)Z
      27: ireturn

  public boolean canApplyAtEnchantingTable(net.minecraft.world.item.ItemStack, net.minecraft.world.item.enchantment.Enchantment);
    Code:
       0: aload_2
       1: getstatic     #252                // Field net/minecraft/world/item/enchantment/Enchantments.f_44955_:Lnet/minecraft/world/item/enchantment/Enchantment;
       4: if_acmpeq     21
       7: aload_2
       8: getstatic     #255                // Field net/minecraft/world/item/enchantment/Enchantments.f_44958_:Lnet/minecraft/world/item/enchantment/Enchantment;
      11: if_acmpeq     21
      14: aload_0
      15: aload_1
      16: aload_2
      17: invokespecial #257                // Method net/minecraft/world/item/AxeItem.canApplyAtEnchantingTable:(Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/item/enchantment/Enchantment;)Z
      20: ireturn
      21: iconst_0
      22: ireturn
}
===== com.xoxech.pumpkinhunter.entity.ThrownHunterAxe =====
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
}
===== com.xoxech.pumpkinhunter.entity.PumpkinHunterEntity =====
Compiled from "PumpkinHunterEntity.java"
public class com.xoxech.pumpkinhunter.entity.PumpkinHunterEntity extends net.minecraft.world.entity.monster.Vindicator {
  private java.util.UUID huntedPlayer;

  public com.xoxech.pumpkinhunter.entity.PumpkinHunterEntity(net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.monster.Vindicator>, net.minecraft.world.level.Level);
    Code:
       0: aload_0
       1: aload_1
       2: aload_2
       3: invokespecial #12                 // Method net/minecraft/world/entity/monster/Vindicator."<init>":(Lnet/minecraft/world/entity/EntityType;Lnet/minecraft/world/level/Level;)V
       6: aload_0
       7: invokevirtual #16                 // Method equipHunterGear:()V
      10: aload_0
      11: iconst_0
      12: invokevirtual #20                 // Method m_33075_:(Z)V
      15: return

  private void equipHunterGear();
    Code:
       0: aload_0
       1: getstatic     #26                 // Field net/minecraft/world/entity/EquipmentSlot.MAINHAND:Lnet/minecraft/world/entity/EquipmentSlot;
       4: new           #28                 // class net/minecraft/world/item/ItemStack
       7: dup
       8: getstatic     #34                 // Field com/xoxech/pumpkinhunter/PumpkinHunterMod.HUNTERS_AXE:Lnet/minecraftforge/registries/RegistryObject;
      11: invokevirtual #40                 // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object;
      14: checkcast     #42                 // class net/minecraft/world/level/ItemLike
      17: invokespecial #45                 // Method net/minecraft/world/item/ItemStack."<init>":(Lnet/minecraft/world/level/ItemLike;)V
      20: invokevirtual #49                 // Method m_8061_:(Lnet/minecraft/world/entity/EquipmentSlot;Lnet/minecraft/world/item/ItemStack;)V
      23: aload_0
      24: getstatic     #52                 // Field net/minecraft/world/entity/EquipmentSlot.HEAD:Lnet/minecraft/world/entity/EquipmentSlot;
      27: getstatic     #56                 // Field net/minecraft/world/item/ItemStack.f_41583_:Lnet/minecraft/world/item/ItemStack;
      30: invokevirtual #49                 // Method m_8061_:(Lnet/minecraft/world/entity/EquipmentSlot;Lnet/minecraft/world/item/ItemStack;)V
      33: return

  public void m_8119_();
    Code:
       0: aload_0
       1: invokespecial #59                 // Method net/minecraft/world/entity/monster/Vindicator.m_8119_:()V
       4: aload_0
       5: invokevirtual #16                 // Method equipHunterGear:()V
       8: aload_0
       9: iconst_0
      10: invokevirtual #20                 // Method m_33075_:(Z)V
      13: aload_0
      14: new           #61                 // class net/minecraft/world/effect/MobEffectInstance
      17: dup
      18: getstatic     #67                 // Field net/minecraft/world/effect/MobEffects.f_19596_:Lnet/minecraft/world/effect/MobEffect;
      21: sipush        220
      24: iconst_0
      25: iconst_1
      26: iconst_0
      27: invokespecial #70                 // Method net/minecraft/world/effect/MobEffectInstance."<init>":(Lnet/minecraft/world/effect/MobEffect;IIZZ)V
      30: invokevirtual #74                 // Method m_7292_:(Lnet/minecraft/world/effect/MobEffectInstance;)Z
      33: pop
      34: aload_0
      35: new           #61                 // class net/minecraft/world/effect/MobEffectInstance
      38: dup
      39: getstatic     #77                 // Field net/minecraft/world/effect/MobEffects.f_19600_:Lnet/minecraft/world/effect/MobEffect;
      42: sipush        220
      45: iconst_0
      46: iconst_1
      47: iconst_0
      48: invokespecial #70                 // Method net/minecraft/world/effect/MobEffectInstance."<init>":(Lnet/minecraft/world/effect/MobEffect;IIZZ)V
      51: invokevirtual #74                 // Method m_7292_:(Lnet/minecraft/world/effect/MobEffectInstance;)Z
      54: pop
      55: return

  public double m_142593_(net.minecraft.world.entity.LivingEntity);
    Code:
       0: ldc2_w        #80                 // double 4.0d
       3: dreturn

  public boolean m_7327_(net.minecraft.world.entity.Entity);
    Code:
       0: aload_0
       1: aload_1
       2: invokespecial #85                 // Method net/minecraft/world/entity/monster/Vindicator.m_7327_:(Lnet/minecraft/world/entity/Entity;)Z
       5: istore_2
       6: iload_2
       7: ifeq          82
      10: aload_1
      11: instanceof    #87                 // class net/minecraft/world/entity/LivingEntity
      14: ifeq          82
      17: aload_1
      18: checkcast     #87                 // class net/minecraft/world/entity/LivingEntity
      21: astore_3
      22: aload_3
      23: new           #61                 // class net/minecraft/world/effect/MobEffectInstance
      26: dup
      27: getstatic     #90                 // Field net/minecraft/world/effect/MobEffects.f_19610_:Lnet/minecraft/world/effect/MobEffect;
      30: bipush        60
      32: iconst_0
      33: iconst_0
      34: iconst_1
      35: invokespecial #70                 // Method net/minecraft/world/effect/MobEffectInstance."<init>":(Lnet/minecraft/world/effect/MobEffect;IIZZ)V
      38: invokevirtual #91                 // Method net/minecraft/world/entity/LivingEntity.m_7292_:(Lnet/minecraft/world/effect/MobEffectInstance;)Z
      41: pop
      42: aload_3
      43: new           #61                 // class net/minecraft/world/effect/MobEffectInstance
      46: dup
      47: getstatic     #94                 // Field net/minecraft/world/effect/MobEffects.f_19597_:Lnet/minecraft/world/effect/MobEffect;
      50: bipush        100
      52: iconst_0
      53: iconst_0
      54: iconst_1
      55: invokespecial #70                 // Method net/minecraft/world/effect/MobEffectInstance."<init>":(Lnet/minecraft/world/effect/MobEffect;IIZZ)V
      58: invokevirtual #91                 // Method net/minecraft/world/entity/LivingEntity.m_7292_:(Lnet/minecraft/world/effect/MobEffectInstance;)Z
      61: pop
      62: aload_3
      63: new           #61                 // class net/minecraft/world/effect/MobEffectInstance
      66: dup
      67: getstatic     #97                 // Field net/minecraft/world/effect/MobEffects.f_19613_:Lnet/minecraft/world/effect/MobEffect;
      70: bipush        100
      72: iconst_0
      73: iconst_0
      74: iconst_1
      75: invokespecial #70                 // Method net/minecraft/world/effect/MobEffectInstance."<init>":(Lnet/minecraft/world/effect/MobEffect;IIZZ)V
      78: invokevirtual #91                 // Method net/minecraft/world/entity/LivingEntity.m_7292_:(Lnet/minecraft/world/effect/MobEffectInstance;)Z
      81: pop
      82: iload_2
      83: ireturn

  protected net.minecraft.sounds.SoundEvent m_7515_();
    Code:
       0: getstatic     #105                // Field net/minecraft/sounds/SoundEvents.f_12356_:Lnet/minecraft/sounds/SoundEvent;
       3: areturn

  protected net.minecraft.sounds.SoundEvent m_7975_(net.minecraft.world.damagesource.DamageSource);
    Code:
       0: getstatic     #110                // Field net/minecraft/sounds/SoundEvents.f_12360_:Lnet/minecraft/sounds/SoundEvent;
       3: areturn

  protected net.minecraft.sounds.SoundEvent m_5592_();
    Code:
       0: getstatic     #114                // Field net/minecraft/sounds/SoundEvents.f_11703_:Lnet/minecraft/sounds/SoundEvent;
       3: areturn

  public void beginHunt(java.util.UUID);
    Code:
       0: aload_0
       1: aload_1
       2: putfield      #118                // Field huntedPlayer:Ljava/util/UUID;
       5: return

  public void beginFeast();
    Code:
       0: return

  public java.util.UUID huntedPlayer();
    Code:
       0: aload_0
       1: getfield      #118                // Field huntedPlayer:Ljava/util/UUID;
       4: areturn
}
===== com.xoxech.pumpkinhunter.entity.SpawnTracker =====
Compiled from "SpawnTracker.java"
public final class com.xoxech.pumpkinhunter.entity.SpawnTracker {
  private static final java.util.Map<java.util.UUID, java.lang.Integer> FAILED_ROLLS;

  private static final java.util.Map<java.util.UUID, java.lang.Long> COOLDOWN_UNTIL;

  private static final long COOLDOWN_MS;

  private static final java.lang.String[] MESSAGES;

  private com.xoxech.pumpkinhunter.entity.SpawnTracker();
    Code:
       0: aload_0
       1: invokespecial #1                  // Method java/lang/Object."<init>":()V
       4: return

  public static boolean roll(java.util.UUID);
    Code:
       0: invokestatic  #7                  // Method java/lang/System.currentTimeMillis:()J
       3: lstore_1
       4: getstatic     #13                 // Field COOLDOWN_UNTIL:Ljava/util/Map;
       7: aload_0
       8: invokeinterface #19,  2           // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
      13: checkcast     #25                 // class java/lang/Long
      16: astore_3
      17: aload_3
      18: ifnull        43
      21: lload_1
      22: aload_3
      23: invokevirtual #27                 // Method java/lang/Long.longValue:()J
      26: lcmp
      27: ifge          32
      30: iconst_0
      31: ireturn
      32: getstatic     #13                 // Field COOLDOWN_UNTIL:Ljava/util/Map;
      35: aload_0
      36: aload_3
      37: invokeinterface #30,  3           // InterfaceMethod java/util/Map.remove:(Ljava/lang/Object;Ljava/lang/Object;)Z
      42: pop
      43: getstatic     #34                 // Field FAILED_ROLLS:Ljava/util/Map;
      46: aload_0
      47: iconst_0
      48: invokestatic  #37                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
      51: invokeinterface #43,  3           // InterfaceMethod java/util/Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
      56: checkcast     #38                 // class java/lang/Integer
      59: invokevirtual #47                 // Method java/lang/Integer.intValue:()I
      62: istore        4
      64: ldc           #51                 // float 0.08f
      66: ldc           #52                 // float 0.04f
      68: iload         4
      70: i2f
      71: fmul
      72: fadd
      73: ldc           #53                 // float 0.2f
      75: invokestatic  #54                 // Method java/lang/Math.min:(FF)F
      78: fstore        5
      80: invokestatic  #60                 // Method java/util/concurrent/ThreadLocalRandom.current:()Ljava/util/concurrent/ThreadLocalRandom;
      83: invokevirtual #66                 // Method java/util/concurrent/ThreadLocalRandom.nextFloat:()F
      86: fload         5
      88: fcmpg
      89: ifge          104
      92: getstatic     #34                 // Field FAILED_ROLLS:Ljava/util/Map;
      95: aload_0
      96: invokeinterface #70,  2           // InterfaceMethod java/util/Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
     101: pop
     102: iconst_1
     103: ireturn
     104: getstatic     #34                 // Field FAILED_ROLLS:Ljava/util/Map;
     107: aload_0
     108: iload         4
     110: iconst_1
     111: iadd
     112: invokestatic  #37                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     115: invokeinterface #72,  3           // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
     120: pop
     121: iconst_0
     122: ireturn

  public static void spawnPositionFailed(java.util.UUID);
    Code:
       0: getstatic     #34                 // Field FAILED_ROLLS:Ljava/util/Map;
       3: aload_0
       4: iconst_1
       5: invokestatic  #37                 // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
       8: invokedynamic #75,  0             // InvokeDynamic #0:apply:()Ljava/util/function/BiFunction;
      13: invokeinterface #79,  4           // InterfaceMethod java/util/Map.merge:(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
      18: pop
      19: return

  public static void huntEnded(java.util.UUID);
    Code:
       0: aload_0
       1: ifnonnull     5
       4: return
       5: getstatic     #34                 // Field FAILED_ROLLS:Ljava/util/Map;
       8: aload_0
       9: invokeinterface #70,  2           // InterfaceMethod java/util/Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
      14: pop
      15: getstatic     #13                 // Field COOLDOWN_UNTIL:Ljava/util/Map;
      18: aload_0
      19: invokestatic  #7                  // Method java/lang/System.currentTimeMillis:()J
      22: ldc2_w        #83                 // long 300000l
      25: ladd
      26: invokestatic  #85                 // Method java/lang/Long.valueOf:(J)Ljava/lang/Long;
      29: invokeinterface #72,  3           // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
      34: pop
      35: return

  public static java.lang.String randomMessage();
    Code:
       0: getstatic     #88                 // Field MESSAGES:[Ljava/lang/String;
       3: invokestatic  #60                 // Method java/util/concurrent/ThreadLocalRandom.current:()Ljava/util/concurrent/ThreadLocalRandom;
       6: getstatic     #88                 // Field MESSAGES:[Ljava/lang/String;
       9: arraylength
      10: invokevirtual #92                 // Method java/util/concurrent/ThreadLocalRandom.nextInt:(I)I
      13: aaload
      14: areturn

  static {};
    Code:
       0: new           #96                 // class java/util/concurrent/ConcurrentHashMap
       3: dup
       4: invokespecial #98                 // Method java/util/concurrent/ConcurrentHashMap."<init>":()V
       7: putstatic     #34                 // Field FAILED_ROLLS:Ljava/util/Map;
      10: new           #96                 // class java/util/concurrent/ConcurrentHashMap
      13: dup
      14: invokespecial #98                 // Method java/util/concurrent/ConcurrentHashMap."<init>":()V
      17: putstatic     #13                 // Field COOLDOWN_UNTIL:Ljava/util/Map;
      20: iconst_5
      21: anewarray     #99                 // class java/lang/String
      24: dup
      25: iconst_0
      26: ldc           #101                // String ??? ??? ??? ?? ?????
      28: aastore
      29: dup
      30: iconst_1
      31: ldc           #103                // String ??? ???????, ??? ???-?? ??????? ?? ?????
      33: aastore
      34: dup
      35: iconst_2
      36: ldc           #105                // String ??? ??? ????
      38: aastore
      39: dup
      40: iconst_3
      41: ldc           #107                // String ??? ??????!
      43: aastore
      44: dup
      45: iconst_4
      46: ldc           #109                // String ?? ???????? ??? ??? ???...
      48: aastore
      49: putstatic     #88                 // Field MESSAGES:[Ljava/lang/String;
      52: return
}
===== com.xoxech.pumpkinhunter.entity.PumpkinHunterEvents =====
Compiled from "PumpkinHunterEvents.java"
public final class com.xoxech.pumpkinhunter.entity.PumpkinHunterEvents {
  private static final java.util.Random RANDOM;

  private static final java.util.Map<java.util.UUID, java.lang.Integer> ACTIVE_HUNTS;

  private static long LAST_NATURAL_SPAWN_NIGHT;

  public com.xoxech.pumpkinhunter.entity.PumpkinHunterEvents();
    Code:
       0: aload_0
       1: invokespecial #46                 // Method java/lang/Object."<init>":()V
       4: return

  public static void onPlayerTick(net.minecraftforge.event.TickEvent$PlayerTickEvent);
    Code:
       0: aload_0
       1: getfield      #53                 // Field net/minecraftforge/event/TickEvent$PlayerTickEvent.phase:Lnet/minecraftforge/event/TickEvent$Phase;
       4: getstatic     #56                 // Field net/minecraftforge/event/TickEvent$Phase.END:Lnet/minecraftforge/event/TickEvent$Phase;
       7: if_acmpne     30
      10: aload_0
      11: getfield      #60                 // Field net/minecraftforge/event/TickEvent$PlayerTickEvent.player:Lnet/minecraft/world/entity/player/Player;
      14: astore_2
      15: aload_2
      16: instanceof    #62                 // class net/minecraft/server/level/ServerPlayer
      19: ifeq          30
      22: aload_2
      23: checkcast     #62                 // class net/minecraft/server/level/ServerPlayer
      26: astore_1
      27: goto          31
      30: return
      31: aload_1
      32: invokevirtual #66                 // Method net/minecraft/server/level/ServerPlayer.m_9236_:()Lnet/minecraft/world/level/Level;
      35: astore_3
      36: aload_3
      37: instanceof    #68                 // class net/minecraft/server/level/ServerLevel
      40: ifeq          51
      43: aload_3
      44: checkcast     #68                 // class net/minecraft/server/level/ServerLevel
      47: astore_2
      48: goto          52
      51: return
      52: aload_2
      53: invokevirtual #72                 // Method net/minecraft/server/level/ServerLevel.m_46467_:()J
      56: aload_1
      57: invokevirtual #76                 // Method net/minecraft/server/level/ServerPlayer.m_20148_:()Ljava/util/UUID;
      60: invokevirtual #82                 // Method java/util/UUID.hashCode:()I
      63: invokestatic  #88                 // Method java/lang/Math.abs:(I)I
      66: i2l
      67: ladd
      68: ldc2_w        #89                 // long 600l
      71: lrem
      72: lconst_0
      73: lcmp
      74: ifeq          78
      77: return
      78: aload_2
      79: invokevirtual #72                 // Method net/minecraft/server/level/ServerLevel.m_46467_:()J
      82: ldc2_w        #91                 // long 48000l
      85: lcmp
      86: iflt          96
      89: aload_2
      90: invokevirtual #96                 // Method net/minecraft/server/level/ServerLevel.m_46462_:()Z
      93: ifne          97
      96: return
      97: aload_2
      98: invokevirtual #100                // Method net/minecraft/server/level/ServerLevel.m_46472_:()Lnet/minecraft/resources/ResourceKey;
     101: getstatic     #106                // Field net/minecraft/world/level/Level.f_46428_:Lnet/minecraft/resources/ResourceKey;
     104: invokevirtual #110                // Method java/lang/Object.equals:(Ljava/lang/Object;)Z
     107: ifne          111
     110: return
     111: aload_2
     112: invokevirtual #72                 // Method net/minecraft/server/level/ServerLevel.m_46467_:()J
     115: ldc2_w        #111                // long 24000l
     118: ldiv
     119: lstore_3
     120: getstatic     #114                // Field LAST_NATURAL_SPAWN_NIGHT:J
     123: lload_3
     124: lcmp
     125: ifne          129
     128: return
     129: getstatic     #116                // Field ACTIVE_HUNTS:Ljava/util/Map;
     132: aload_1
     133: invokevirtual #76                 // Method net/minecraft/server/level/ServerPlayer.m_20148_:()Ljava/util/UUID;
     136: invokeinterface #121,  2          // InterfaceMethod java/util/Map.containsKey:(Ljava/lang/Object;)Z
     141: ifeq          145
     144: return
     145: aload_1
     146: invokevirtual #124                // Method net/minecraft/server/level/ServerPlayer.m_6084_:()Z
     149: ifne          153
     152: return
     153: aload_2
     154: invokedynamic #142,  0            // InvokeDynamic #0:test:()Ljava/util/function/Predicate;
     159: invokevirtual #146                // Method net/minecraft/server/level/ServerLevel.m_8795_:(Ljava/util/function/Predicate;)Ljava/util/List;
     162: invokeinterface #152,  1          // InterfaceMethod java/util/List.iterator:()Ljava/util/Iterator;
     167: astore        5
     169: aload         5
     171: invokeinterface #157,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
     176: ifeq          264
     179: aload         5
     181: invokeinterface #161,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
     186: checkcast     #62                 // class net/minecraft/server/level/ServerPlayer
     189: astore        6
     191: aload         6
     193: aload_1
     194: if_acmpne     200
     197: goto          169
     200: aload         6
     202: invokevirtual #165                // Method net/minecraft/server/level/ServerPlayer.m_20185_:()D
     205: aload_1
     206: invokevirtual #165                // Method net/minecraft/server/level/ServerPlayer.m_20185_:()D
     209: dsub
     210: dstore        7
     212: aload         6
     214: invokevirtual #168                // Method net/minecraft/server/level/ServerPlayer.m_20186_:()D
     217: aload_1
     218: invokevirtual #168                // Method net/minecraft/server/level/ServerPlayer.m_20186_:()D
     221: dsub
     222: dstore        9
     224: aload         6
     226: invokevirtual #171                // Method net/minecraft/server/level/ServerPlayer.m_20189_:()D
     229: aload_1
     230: invokevirtual #171                // Method net/minecraft/server/level/ServerPlayer.m_20189_:()D
     233: dsub
     234: dstore        11
     236: dload         7
     238: dload         7
     240: dmul
     241: dload         9
     243: dload         9
     245: dmul
     246: dadd
     247: dload         11
     249: dload         11
     251: dmul
     252: dadd
     253: ldc2_w        #172                // double 4096.0d
     256: dcmpg
     257: ifgt          261
     260: return
     261: goto          169
     264: aload_1
     265: invokevirtual #76                 // Method net/minecraft/server/level/ServerPlayer.m_20148_:()Ljava/util/UUID;
     268: invokestatic  #179                // Method com/xoxech/pumpkinhunter/entity/SpawnTracker.roll:(Ljava/util/UUID;)Z
     271: ifne          275
     274: return
     275: aload_2
     276: aload_1
     277: invokestatic  #183                // Method findSpawn:(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/server/level/ServerPlayer;)Lnet/minecraft/core/BlockPos;
     280: astore        5
     282: aload         5
     284: ifnonnull     295
     287: aload_1
     288: invokevirtual #76                 // Method net/minecraft/server/level/ServerPlayer.m_20148_:()Ljava/util/UUID;
     291: invokestatic  #187                // Method com/xoxech/pumpkinhunter/entity/SpawnTracker.spawnPositionFailed:(Ljava/util/UUID;)V
     294: return
     295: getstatic     #193                // Field com/xoxech/pumpkinhunter/PumpkinHunterMod.PUMPKIN_HUNTER:Lnet/minecraftforge/registries/RegistryObject;
     298: invokevirtual #198                // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object;
     301: checkcast     #200                // class net/minecraft/world/entity/EntityType
     304: aload_2
     305: invokevirtual #204                // Method net/minecraft/world/entity/EntityType.m_20615_:(Lnet/minecraft/world/level/Level;)Lnet/minecraft/world/entity/Entity;
     308: checkcast     #206                // class com/xoxech/pumpkinhunter/entity/PumpkinHunterEntity
     311: astore        6
     313: aload         6
     315: ifnonnull     319
     318: return
     319: aload         6
     321: aload         5
     323: invokevirtual #211                // Method net/minecraft/core/BlockPos.m_123341_:()I
     326: i2d
     327: ldc2_w        #212                // double 0.5d
     330: dadd
     331: aload         5
     333: invokevirtual #216                // Method net/minecraft/core/BlockPos.m_123342_:()I
     336: i2d
     337: aload         5
     339: invokevirtual #219                // Method net/minecraft/core/BlockPos.m_123343_:()I
     342: i2d
     343: ldc2_w        #212                // double 0.5d
     346: dadd
     347: invokevirtual #223                // Method com/xoxech/pumpkinhunter/entity/PumpkinHunterEntity.m_20343_:(DDD)V
     350: aload         6
     352: ldc           #225                // String MAINHAND
     354: invokestatic  #231                // Method net/minecraft/world/entity/EquipmentSlot.valueOf:(Ljava/lang/String;)Lnet/minecraft/world/entity/EquipmentSlot;
     357: new           #233                // class net/minecraft/world/item/ItemStack
     360: dup
     361: getstatic     #236                // Field com/xoxech/pumpkinhunter/PumpkinHunterMod.HUNTERS_AXE:Lnet/minecraftforge/registries/RegistryObject;
     364: invokevirtual #198                // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object;
     367: checkcast     #238                // class net/minecraft/world/level/ItemLike
     370: invokespecial #241                // Method net/minecraft/world/item/ItemStack."<init>":(Lnet/minecraft/world/level/ItemLike;)V
     373: invokevirtual #245                // Method com/xoxech/pumpkinhunter/entity/PumpkinHunterEntity.m_8061_:(Lnet/minecraft/world/entity/EquipmentSlot;Lnet/minecraft/world/item/ItemStack;)V
     376: aload         6
     378: ldc           #225                // String MAINHAND
     380: invokestatic  #231                // Method net/minecraft/world/entity/EquipmentSlot.valueOf:(Ljava/lang/String;)Lnet/minecraft/world/entity/EquipmentSlot;
     383: fconst_0
     384: invokevirtual #249                // Method com/xoxech/pumpkinhunter/entity/PumpkinHunterEntity.m_21409_:(Lnet/minecraft/world/entity/EquipmentSlot;F)V
     387: aload         6
     389: invokevirtual #252                // Method com/xoxech/pumpkinhunter/entity/PumpkinHunterEntity.m_21530_:()V
     392: aload_1
     393: invokevirtual #165                // Method net/minecraft/server/level/ServerPlayer.m_20185_:()D
     396: aload         6
     398: invokevirtual #253                // Method com/xoxech/pumpkinhunter/entity/PumpkinHunterEntity.m_20185_:()D
     401: dsub
     402: dstore        7
     404: aload_1
     405: invokevirtual #171                // Method net/minecraft/server/level/ServerPlayer.m_20189_:()D
     408: aload         6
     410: invokevirtual #254                // Method com/xoxech/pumpkinhunter/entity/PumpkinHunterEntity.m_20189_:()D
     413: dsub
     414: dstore        9
     416: dload         9
     418: dload         7
     420: invokestatic  #258                // Method java/lang/Math.atan2:(DD)D
     423: ldc2_w        #259                // double 180.0d
     426: dmul
     427: ldc2_w        #261                // double 3.141592653589793d
     430: ddiv
     431: d2f
     432: ldc_w         #263                // float 90.0f
     435: fsub
     436: fstore        11
     438: aload         6
     440: fload         11
     442: invokevirtual #267                // Method com/xoxech/pumpkinhunter/entity/PumpkinHunterEntity.m_146922_:(F)V
     445: aload         6
     447: fload         11
     449: invokevirtual #270                // Method com/xoxech/pumpkinhunter/entity/PumpkinHunterEntity.m_5616_:(F)V
     452: aload         6
     454: fload         11
     456: invokevirtual #273                // Method com/xoxech/pumpkinhunter/entity/PumpkinHunterEntity.m_5618_:(F)V
     459: aload         6
     461: aload_1
     462: invokevirtual #76                 // Method net/minecraft/server/level/ServerPlayer.m_20148_:()Ljava/util/UUID;
     465: invokevirtual #276                // Method com/xoxech/pumpkinhunter/entity/PumpkinHunterEntity.beginHunt:(Ljava/util/UUID;)V
     468: aload_2
     469: aload         6
     471: invokevirtual #280                // Method net/minecraft/server/level/ServerLevel.m_7967_:(Lnet/minecraft/world/entity/Entity;)Z
     474: ifeq          560
     477: lload_3
     478: putstatic     #114                // Field LAST_NATURAL_SPAWN_NIGHT:J
     481: getstatic     #116                // Field ACTIVE_HUNTS:Ljava/util/Map;
     484: aload_1
     485: invokevirtual #76                 // Method net/minecraft/server/level/ServerPlayer.m_20148_:()Ljava/util/UUID;
     488: aload         6
     490: invokevirtual #283                // Method com/xoxech/pumpkinhunter/entity/PumpkinHunterEntity.m_19879_:()I
     493: invokestatic  #288                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     496: invokeinterface #292,  3          // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
     501: pop
     502: aload_1
     503: invokestatic  #296                // Method com/xoxech/pumpkinhunter/entity/SpawnTracker.randomMessage:()Ljava/lang/String;
     506: invokestatic  #302                // InterfaceMethod net/minecraft/network/chat/Component.m_237113_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent;
     509: iconst_0
     510: invokevirtual #306                // Method net/minecraft/server/level/ServerPlayer.m_5661_:(Lnet/minecraft/network/chat/Component;Z)V
     513: getstatic     #308                // Field RANDOM:Ljava/util/Random;
     516: getstatic     #312                // Field com/xoxech/pumpkinhunter/PumpkinHunterMod.CAVE_SOUNDS:Ljava/util/List;
     519: invokeinterface #315,  1          // InterfaceMethod java/util/List.size:()I
     524: invokevirtual #320                // Method java/util/Random.nextInt:(I)I
     527: istore        12
     529: aload_1
     530: getstatic     #312                // Field com/xoxech/pumpkinhunter/PumpkinHunterMod.CAVE_SOUNDS:Ljava/util/List;
     533: iload         12
     535: invokeinterface #323,  2          // InterfaceMethod java/util/List.get:(I)Ljava/lang/Object;
     540: checkcast     #195                // class net/minecraftforge/registries/RegistryObject
     543: invokevirtual #198                // Method net/minecraftforge/registries/RegistryObject.get:()Ljava/lang/Object;
     546: checkcast     #325                // class net/minecraft/sounds/SoundEvent
     549: ldc_w         #327                // String HOSTILE
     552: invokestatic  #332                // Method net/minecraft/sounds/SoundSource.valueOf:(Ljava/lang/String;)Lnet/minecraft/sounds/SoundSource;
     555: fconst_1
     556: fconst_1
     557: invokevirtual #336                // Method net/minecraft/server/level/ServerPlayer.m_6330_:(Lnet/minecraft/sounds/SoundEvent;Lnet/minecraft/sounds/SoundSource;FF)V
     560: return

  private static net.minecraft.core.BlockPos findSpawn(net.minecraft.server.level.ServerLevel, net.minecraft.server.level.ServerPlayer);
    Code:
       0: iconst_0
       1: istore_2
       2: iload_2
       3: bipush        28
       5: if_icmpge     220
       8: getstatic     #308                // Field RANDOM:Ljava/util/Random;
      11: invokevirtual #341                // Method java/util/Random.nextDouble:()D
      14: ldc2_w        #261                // double 3.141592653589793d
      17: dmul
      18: ldc2_w        #342                // double 2.0d
      21: dmul
      22: dstore_3
      23: ldc2_w        #344                // double 12.0d
      26: getstatic     #308                // Field RANDOM:Ljava/util/Random;
      29: invokevirtual #341                // Method java/util/Random.nextDouble:()D
      32: ldc2_w        #346                // double 28.0d
      35: dmul
      36: dadd
      37: dstore        5
      39: aload_1
      40: invokevirtual #165                // Method net/minecraft/server/level/ServerPlayer.m_20185_:()D
      43: dload_3
      44: invokestatic  #351                // Method java/lang/Math.cos:(D)D
      47: dload         5
      49: dmul
      50: dadd
      51: invokestatic  #354                // Method java/lang/Math.floor:(D)D
      54: d2i
      55: istore        7
      57: aload_1
      58: invokevirtual #171                // Method net/minecraft/server/level/ServerPlayer.m_20189_:()D
      61: dload_3
      62: invokestatic  #357                // Method java/lang/Math.sin:(D)D
      65: dload         5
      67: dmul
      68: dadd
      69: invokestatic  #354                // Method java/lang/Math.floor:(D)D
      72: d2i
      73: istore        8
      75: aload_1
      76: invokevirtual #168                // Method net/minecraft/server/level/ServerPlayer.m_20186_:()D
      79: invokestatic  #354                // Method java/lang/Math.floor:(D)D
      82: d2i
      83: getstatic     #308                // Field RANDOM:Ljava/util/Random;
      86: bipush        9
      88: invokevirtual #320                // Method java/util/Random.nextInt:(I)I
      91: iadd
      92: iconst_4
      93: isub
      94: istore        9
      96: iconst_0
      97: istore        10
      99: iload         10
     101: bipush        10
     103: if_icmpgt     214
     106: iload         9
     108: iload         10
     110: isub
     111: istore        11
     113: new           #208                // class net/minecraft/core/BlockPos
     116: dup
     117: iload         7
     119: iload         11
     121: iload         8
     123: invokespecial #360                // Method net/minecraft/core/BlockPos."<init>":(III)V
     126: astore        12
     128: new           #208                // class net/minecraft/core/BlockPos
     131: dup
     132: iload         7
     134: iload         11
     136: iconst_1
     137: iadd
     138: iload         8
     140: invokespecial #360                // Method net/minecraft/core/BlockPos."<init>":(III)V
     143: astore        13
     145: new           #208                // class net/minecraft/core/BlockPos
     148: dup
     149: iload         7
     151: iload         11
     153: iconst_1
     154: isub
     155: iload         8
     157: invokespecial #360                // Method net/minecraft/core/BlockPos."<init>":(III)V
     160: astore        14
     162: aload_0
     163: aload         12
     165: invokevirtual #364                // Method net/minecraft/server/level/ServerLevel.m_46859_:(Lnet/minecraft/core/BlockPos;)Z
     168: ifeq          208
     171: aload_0
     172: aload         13
     174: invokevirtual #364                // Method net/minecraft/server/level/ServerLevel.m_46859_:(Lnet/minecraft/core/BlockPos;)Z
     177: ifeq          208
     180: aload_0
     181: aload         14
     183: invokevirtual #364                // Method net/minecraft/server/level/ServerLevel.m_46859_:(Lnet/minecraft/core/BlockPos;)Z
     186: ifeq          192
     189: goto          208
     192: aload_0
     193: aload         12
     195: invokevirtual #368                // Method net/minecraft/server/level/ServerLevel.m_46803_:(Lnet/minecraft/core/BlockPos;)I
     198: iconst_3
     199: if_icmple     205
     202: goto          208
     205: aload         12
     207: areturn
     208: iinc          10, 1
     211: goto          99
     214: iinc          2, 1
     217: goto          2
     220: aconst_null
     221: areturn

  public static void onLivingDeath(net.minecraftforge.event.entity.living.LivingDeathEvent);
    Code:
       0: aload_0
       1: invokevirtual #376                // Method net/minecraftforge/event/entity/living/LivingDeathEvent.getSource:()Lnet/minecraft/world/damagesource/DamageSource;
       4: invokevirtual #382                // Method net/minecraft/world/damagesource/DamageSource.m_7639_:()Lnet/minecraft/world/entity/Entity;
       7: astore_1
       8: aload_0
       9: invokevirtual #386                // Method net/minecraftforge/event/entity/living/LivingDeathEvent.getEntity:()Lnet/minecraft/world/entity/LivingEntity;
      12: instanceof    #62                 // class net/minecraft/server/level/ServerPlayer
      15: ifeq          34
      18: aload_1
      19: instanceof    #206                // class com/xoxech/pumpkinhunter/entity/PumpkinHunterEntity
      22: ifeq          34
      25: aload_1
      26: checkcast     #206                // class com/xoxech/pumpkinhunter/entity/PumpkinHunterEntity
      29: astore_2
      30: aload_2
      31: invokevirtual #389                // Method com/xoxech/pumpkinhunter/entity/PumpkinHunterEntity.beginFeast:()V
      34: aload_0
      35: invokevirtual #386                // Method net/minecraftforge/event/entity/living/LivingDeathEvent.getEntity:()Lnet/minecraft/world/entity/LivingEntity;
      38: astore_3
      39: aload_3
      40: instanceof    #206                // class com/xoxech/pumpkinhunter/entity/PumpkinHunterEntity
      43: ifeq          62
      46: aload_3
      47: checkcast     #206                // class com/xoxech/pumpkinhunter/entity/PumpkinHunterEntity
      50: astore_2
      51: aload_2
      52: invokevirtual #392                // Method com/xoxech/pumpkinhunter/entity/PumpkinHunterEntity.huntedPlayer:()Ljava/util/UUID;
      55: aload_2
      56: invokevirtual #283                // Method com/xoxech/pumpkinhunter/entity/PumpkinHunterEntity.m_19879_:()I
      59: invokestatic  #396                // Method huntEnded:(Ljava/util/UUID;I)V
      62: return

  public static void huntEnded(java.util.UUID, int);
    Code:
       0: aload_0
       1: ifnonnull     5
       4: return
       5: aload_0
       6: invokestatic  #402                // Method com/xoxech/pumpkinhunter/entity/SpawnTracker.huntEnded:(Ljava/util/UUID;)V
       9: getstatic     #116                // Field ACTIVE_HUNTS:Ljava/util/Map;
      12: aload_0
      13: invokeinterface #405,  2          // InterfaceMethod java/util/Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
      18: checkcast     #285                // class java/lang/Integer
      21: astore_2
      22: aload_2
      23: ifnull        44
      26: aload_2
      27: invokevirtual #408                // Method java/lang/Integer.intValue:()I
      30: iload_1
      31: if_icmpne     44
      34: getstatic     #116                // Field ACTIVE_HUNTS:Ljava/util/Map;
      37: aload_0
      38: invokeinterface #411,  2          // InterfaceMethod java/util/Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
      43: pop
      44: return

  private static boolean lambda$onPlayerTick$0(net.minecraft.server.level.ServerPlayer);
    Code:
       0: aload_0
       1: invokevirtual #124                // Method net/minecraft/server/level/ServerPlayer.m_6084_:()Z
       4: ireturn

  static {};
    Code:
       0: new           #317                // class java/util/Random
       3: dup
       4: invokespecial #413                // Method java/util/Random."<init>":()V
       7: putstatic     #308                // Field RANDOM:Ljava/util/Random;
      10: new           #415                // class java/util/HashMap
      13: dup
      14: invokespecial #416                // Method java/util/HashMap."<init>":()V
      17: putstatic     #116                // Field ACTIVE_HUNTS:Ljava/util/Map;
      20: ldc2_w        #417                // long -9223372036854775808l
      23: putstatic     #114                // Field LAST_NATURAL_SPAWN_NIGHT:J
      26: return
}
