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
}
