Compiled from "RouletteWheelEvents.java"
public final class com.arctania.vault.roulette.RouletteWheelEvents {
  private static final net.minecraft.resources.ResourceLocation WHEEL_ID;

  private static final net.minecraft.resources.ResourceLocation COST_ID;

  private static final java.lang.String NEXT_USE_TAG;

  private static final long COOLDOWN_MS;

  private static final int SPIN_TICKS;

  private static final java.util.Map<java.lang.String, com.arctania.vault.roulette.RouletteWheelEvents$Spin> ACTIVE;

  private com.arctania.vault.roulette.RouletteWheelEvents();
    Code:
       0: aload_0
       1: invokespecial #1                  // Method java/lang/Object."<init>":()V
       4: return

  public static void rightClickRoulette(net.minecraftforge.event.entity.player.PlayerInteractEvent$RightClickBlock);
    Code:
       0: aload_0
       1: invokevirtual #7                  // Method net/minecraftforge/event/entity/player/PlayerInteractEvent$RightClickBlock.getHand:()Lnet/minecraft/world/InteractionHand;
       4: getstatic     #13                 // Field net/minecraft/world/InteractionHand.MAIN_HAND:Lnet/minecraft/world/InteractionHand;
       7: if_acmpeq     11
      10: return
      11: aload_0
      12: invokevirtual #19                 // Method net/minecraftforge/event/entity/player/PlayerInteractEvent$RightClickBlock.getLevel:()Lnet/minecraft/world/level/Level;
      15: astore_1
      16: aload_1
      17: invokevirtual #23                 // Method net/minecraft/world/level/Level.m_5776_:()Z
      20: ifeq          24
      23: return
      24: getstatic     #29                 // Field net/minecraftforge/registries/ForgeRegistries.BLOCKS:Lnet/minecraftforge/registries/IForgeRegistry;
      27: getstatic     #35                 // Field WHEEL_ID:Lnet/minecraft/resources/ResourceLocation;
      30: invokeinterface #41,  2           // InterfaceMethod net/minecraftforge/registries/IForgeRegistry.getValue:(Lnet/minecraft/resources/ResourceLocation;)Ljava/lang/Object;
      35: checkcast     #47                 // class net/minecraft/world/level/block/Block
      38: astore_2
      39: aload_0
      40: invokevirtual #49                 // Method net/minecraftforge/event/entity/player/PlayerInteractEvent$RightClickBlock.getPos:()Lnet/minecraft/core/BlockPos;
      43: astore_3
      44: aload_2
      45: ifnull        60
      48: aload_1
      49: aload_3
      50: invokevirtual #53                 // Method net/minecraft/world/level/Level.m_8055_:(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState;
      53: aload_2
      54: invokevirtual #57                 // Method net/minecraft/world/level/block/state/BlockState.m_60713_:(Lnet/minecraft/world/level/block/Block;)Z
      57: ifne          61
      60: return
      61: aload_1
      62: invokevirtual #63                 // Method net/minecraft/world/level/Level.m_46472_:()Lnet/minecraft/resources/ResourceKey;
      65: aload_3
      66: invokestatic  #67                 // Method key:(Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/core/BlockPos;)Ljava/lang/String;
      69: astore        4
      71: getstatic     #71                 // Field ACTIVE:Ljava/util/Map;
      74: aload         4
      76: invokeinterface #75,  2           // InterfaceMethod java/util/Map.containsKey:(Ljava/lang/Object;)Z
      81: ifeq          97
      84: aload_0
      85: iconst_1
      86: invokevirtual #81                 // Method net/minecraftforge/event/entity/player/PlayerInteractEvent$RightClickBlock.setCanceled:(Z)V
      89: aload_0
      90: getstatic     #85                 // Field net/minecraft/world/InteractionResult.SUCCESS:Lnet/minecraft/world/InteractionResult;
      93: invokevirtual #91                 // Method net/minecraftforge/event/entity/player/PlayerInteractEvent$RightClickBlock.setCancellationResult:(Lnet/minecraft/world/InteractionResult;)V
      96: return
      97: aload_0
      98: invokevirtual #95                 // Method net/minecraftforge/event/entity/player/PlayerInteractEvent$RightClickBlock.getEntity:()Lnet/minecraft/world/entity/player/Player;
     101: astore        5
     103: aload_0
     104: invokevirtual #99                 // Method net/minecraftforge/event/entity/player/PlayerInteractEvent$RightClickBlock.getItemStack:()Lnet/minecraft/world/item/ItemStack;
     107: astore        6
     109: getstatic     #103                // Field net/minecraftforge/registries/ForgeRegistries.ITEMS:Lnet/minecraftforge/registries/IForgeRegistry;
     112: getstatic     #106                // Field COST_ID:Lnet/minecraft/resources/ResourceLocation;
     115: invokeinterface #41,  2           // InterfaceMethod net/minecraftforge/registries/IForgeRegistry.getValue:(Lnet/minecraft/resources/ResourceLocation;)Ljava/lang/Object;
     120: checkcast     #109                // class net/minecraft/world/item/Item
     123: astore        7
     125: aload         7
     127: ifnull        140
     130: aload         6
     132: aload         7
     134: invokevirtual #111                // Method net/minecraft/world/item/ItemStack.m_150930_:(Lnet/minecraft/world/item/Item;)Z
     137: ifne          141
     140: return
     141: aload         5
     143: aload_1
     144: aload_3
     145: aload_0
     146: invokevirtual #7                  // Method net/minecraftforge/event/entity/player/PlayerInteractEvent$RightClickBlock.getHand:()Lnet/minecraft/world/InteractionHand;
     149: invokestatic  #117                // Method com/arctania/vault/protection/ClaimProtectionHooks.canUseBlock:(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/InteractionHand;)Z
     152: ifne          156
     155: return
     156: aload_0
     157: iconst_1
     158: invokevirtual #81                 // Method net/minecraftforge/event/entity/player/PlayerInteractEvent$RightClickBlock.setCanceled:(Z)V
     161: aload_0
     162: getstatic     #85                 // Field net/minecraft/world/InteractionResult.SUCCESS:Lnet/minecraft/world/InteractionResult;
     165: invokevirtual #91                 // Method net/minecraftforge/event/entity/player/PlayerInteractEvent$RightClickBlock.setCancellationResult:(Lnet/minecraft/world/InteractionResult;)V
     168: invokestatic  #123                // Method java/lang/System.currentTimeMillis:()J
     171: lstore        8
     173: aload         5
     175: invokestatic  #129                // Method persistentData:(Lnet/minecraft/world/entity/player/Player;)Lnet/minecraft/nbt/CompoundTag;
     178: astore        10
     180: lload         8
     182: aload         10
     184: ldc           #133                // String arctaniaRouletteNextUse
     186: invokevirtual #135                // Method net/minecraft/nbt/CompoundTag.m_128454_:(Ljava/lang/String;)J
     189: lcmp
     190: iflt          202
     193: aload         6
     195: invokevirtual #141                // Method net/minecraft/world/item/ItemStack.m_41613_:()I
     198: iconst_1
     199: if_icmpge     203
     202: return
     203: new           #145                // class java/util/Random
     206: dup
     207: invokespecial #147                // Method java/util/Random."<init>":()V
     210: astore        11
     212: aload         11
     214: invokestatic  #148                // Method com/arctania/vault/roulette/RouletteRewardPool.pickTier:(Ljava/util/Random;)Lcom/arctania/vault/roulette/RouletteRewardPool$Tier;
     217: astore        12
     219: aload         12
     221: ifnonnull     241
     224: aload         5
     226: ldc           #154                // String Roulette reward pool is unavailable.
     228: invokestatic  #156                // InterfaceMethod net/minecraft/network/chat/Component.m_237113_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent;
     231: getstatic     #162                // Field net/minecraft/ChatFormatting.RED:Lnet/minecraft/ChatFormatting;
     234: invokevirtual #168                // Method net/minecraft/network/chat/MutableComponent.m_130940_:(Lnet/minecraft/ChatFormatting;)Lnet/minecraft/network/chat/MutableComponent;
     237: invokevirtual #174                // Method net/minecraft/world/entity/player/Player.m_213846_:(Lnet/minecraft/network/chat/Component;)V
     240: return
     241: aload         12
     243: aload         11
     245: invokestatic  #180                // Method com/arctania/vault/roulette/RouletteRewardPool.pickReward:(Lcom/arctania/vault/roulette/RouletteRewardPool$Tier;Ljava/util/Random;)Lcom/arctania/vault/roulette/RouletteRewardPool$Reward;
     248: astore        13
     250: aload         13
     252: ifnonnull     272
     255: aload         5
     257: ldc           #184                // String Roulette reward selection failed.
     259: invokestatic  #156                // InterfaceMethod net/minecraft/network/chat/Component.m_237113_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent;
     262: getstatic     #162                // Field net/minecraft/ChatFormatting.RED:Lnet/minecraft/ChatFormatting;
     265: invokevirtual #168                // Method net/minecraft/network/chat/MutableComponent.m_130940_:(Lnet/minecraft/ChatFormatting;)Lnet/minecraft/network/chat/MutableComponent;
     268: invokevirtual #174                // Method net/minecraft/world/entity/player/Player.m_213846_:(Lnet/minecraft/network/chat/Component;)V
     271: return
     272: aload         13
     274: invokevirtual #186                // Method com/arctania/vault/roulette/RouletteRewardPool$Reward.resolve:()Lnet/minecraft/world/item/Item;
     277: astore        14
     279: aload         14
     281: ifnonnull     301
     284: aload         5
     286: ldc           #192                // String Roulette reward could not be loaded.
     288: invokestatic  #156                // InterfaceMethod net/minecraft/network/chat/Component.m_237113_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent;
     291: getstatic     #162                // Field net/minecraft/ChatFormatting.RED:Lnet/minecraft/ChatFormatting;
     294: invokevirtual #168                // Method net/minecraft/network/chat/MutableComponent.m_130940_:(Lnet/minecraft/ChatFormatting;)Lnet/minecraft/network/chat/MutableComponent;
     297: invokevirtual #174                // Method net/minecraft/world/entity/player/Player.m_213846_:(Lnet/minecraft/network/chat/Component;)V
     300: return
     301: aload         6
     303: iconst_1
     304: invokevirtual #194                // Method net/minecraft/world/item/ItemStack.m_41774_:(I)V
     307: aload         10
     309: ldc           #133                // String arctaniaRouletteNextUse
     311: lload         8
     313: ldc2_w        #198                // long 1200l
     316: ladd
     317: invokevirtual #200                // Method net/minecraft/nbt/CompoundTag.m_128356_:(Ljava/lang/String;J)V
     320: new           #112                // class net/minecraft/world/item/ItemStack
     323: dup
     324: aload         14
     326: aload         13
     328: getfield      #204                // Field com/arctania/vault/roulette/RouletteRewardPool$Reward.count:I
     331: invokespecial #208                // Method net/minecraft/world/item/ItemStack."<init>":(Lnet/minecraft/world/level/ItemLike;I)V
     334: astore        15
     336: aload         15
     338: invokevirtual #211                // Method net/minecraft/world/item/ItemStack.m_41786_:()Lnet/minecraft/network/chat/Component;
     341: invokeinterface #215,  1          // InterfaceMethod net/minecraft/network/chat/Component.getString:()Ljava/lang/String;
     346: astore        16
     348: aload_1
     349: aload_3
     350: invokevirtual #53                 // Method net/minecraft/world/level/Level.m_8055_:(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState;
     353: getstatic     #219                // Field com/arctania/vault/roulette/RouletteWheelBlock.FRAME:Lnet/minecraft/world/level/block/state/properties/IntegerProperty;
     356: invokevirtual #225                // Method net/minecraft/world/level/block/state/BlockState.m_61143_:(Lnet/minecraft/world/level/block/state/properties/Property;)Ljava/lang/Comparable;
     359: checkcast     #229                // class java/lang/Integer
     362: invokevirtual #231                // Method java/lang/Integer.intValue:()I
     365: istore        17
     367: iconst_5
     368: aload         11
     370: iconst_3
     371: invokevirtual #234                // Method java/util/Random.nextInt:(I)I
     374: iadd
     375: istore        18
     377: aload         11
     379: bipush        16
     381: invokevirtual #234                // Method java/util/Random.nextInt:(I)I
     384: istore        19
     386: iload         18
     388: bipush        16
     390: imul
     391: iload         19
     393: iload         17
     395: isub
     396: bipush        16
     398: iadd
     399: bipush        16
     401: irem
     402: iadd
     403: istore        20
     405: getstatic     #71                 // Field ACTIVE:Ljava/util/Map;
     408: aload         4
     410: new           #238                // class com/arctania/vault/roulette/RouletteWheelEvents$Spin
     413: dup
     414: aload_1
     415: invokevirtual #63                 // Method net/minecraft/world/level/Level.m_46472_:()Lnet/minecraft/resources/ResourceKey;
     418: aload_3
     419: invokevirtual #240                // Method net/minecraft/core/BlockPos.m_7949_:()Lnet/minecraft/core/BlockPos;
     422: aload         5
     424: invokevirtual #245                // Method net/minecraft/world/entity/player/Player.m_20148_:()Ljava/util/UUID;
     427: aload         12
     429: aload         15
     431: aload         16
     433: iload         17
     435: iload         20
     437: invokespecial #249                // Method com/arctania/vault/roulette/RouletteWheelEvents$Spin."<init>":(Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/core/BlockPos;Ljava/util/UUID;Lcom/arctania/vault/roulette/RouletteRewardPool$Tier;Lnet/minecraft/world/item/ItemStack;Ljava/lang/String;II)V
     440: invokeinterface #252,  3          // InterfaceMethod java/util/Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
     445: pop
     446: return

  public static void serverTick(net.minecraftforge.event.TickEvent$ServerTickEvent);
    Code:
       0: aload_0
       1: getfield      #256                // Field net/minecraftforge/event/TickEvent$ServerTickEvent.phase:Lnet/minecraftforge/event/TickEvent$Phase;
       4: getstatic     #262                // Field net/minecraftforge/event/TickEvent$Phase.END:Lnet/minecraftforge/event/TickEvent$Phase;
       7: if_acmpne     21
      10: getstatic     #71                 // Field ACTIVE:Ljava/util/Map;
      13: invokeinterface #267,  1          // InterfaceMethod java/util/Map.isEmpty:()Z
      18: ifeq          22
      21: return
      22: aload_0
      23: invokevirtual #270                // Method net/minecraftforge/event/TickEvent$ServerTickEvent.getServer:()Lnet/minecraft/server/MinecraftServer;
      26: astore_1
      27: getstatic     #71                 // Field ACTIVE:Ljava/util/Map;
      30: invokeinterface #274,  1          // InterfaceMethod java/util/Map.entrySet:()Ljava/util/Set;
      35: invokeinterface #278,  1          // InterfaceMethod java/util/Set.iterator:()Ljava/util/Iterator;
      40: astore_2
      41: aload_2
      42: invokeinterface #284,  1          // InterfaceMethod java/util/Iterator.hasNext:()Z
      47: ifeq          378
      50: aload_2
      51: invokeinterface #289,  1          // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
      56: checkcast     #293                // class java/util/Map$Entry
      59: invokeinterface #295,  1          // InterfaceMethod java/util/Map$Entry.getValue:()Ljava/lang/Object;
      64: checkcast     #238                // class com/arctania/vault/roulette/RouletteWheelEvents$Spin
      67: astore_3
      68: aload_1
      69: aload_3
      70: getfield      #297                // Field com/arctania/vault/roulette/RouletteWheelEvents$Spin.dimension:Lnet/minecraft/resources/ResourceKey;
      73: invokevirtual #301                // Method net/minecraft/server/MinecraftServer.m_129880_:(Lnet/minecraft/resources/ResourceKey;)Lnet/minecraft/server/level/ServerLevel;
      76: astore        4
      78: aload         4
      80: ifnonnull     92
      83: aload_2
      84: invokeinterface #307,  1          // InterfaceMethod java/util/Iterator.remove:()V
      89: goto          41
      92: aload         4
      94: aload_3
      95: getfield      #310                // Field com/arctania/vault/roulette/RouletteWheelEvents$Spin.pos:Lnet/minecraft/core/BlockPos;
      98: invokevirtual #314                // Method net/minecraft/server/level/ServerLevel.m_8055_:(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState;
     101: astore        5
     103: getstatic     #29                 // Field net/minecraftforge/registries/ForgeRegistries.BLOCKS:Lnet/minecraftforge/registries/IForgeRegistry;
     106: getstatic     #35                 // Field WHEEL_ID:Lnet/minecraft/resources/ResourceLocation;
     109: invokeinterface #41,  2           // InterfaceMethod net/minecraftforge/registries/IForgeRegistry.getValue:(Lnet/minecraft/resources/ResourceLocation;)Ljava/lang/Object;
     114: checkcast     #47                 // class net/minecraft/world/level/block/Block
     117: astore        6
     119: aload         6
     121: ifnull        134
     124: aload         5
     126: aload         6
     128: invokevirtual #57                 // Method net/minecraft/world/level/block/state/BlockState.m_60713_:(Lnet/minecraft/world/level/block/Block;)Z
     131: ifne          143
     134: aload_2
     135: invokeinterface #307,  1          // InterfaceMethod java/util/Iterator.remove:()V
     140: goto          41
     143: aload_3
     144: dup
     145: getfield      #317                // Field com/arctania/vault/roulette/RouletteWheelEvents$Spin.tick:I
     148: iconst_1
     149: iadd
     150: putfield      #317                // Field com/arctania/vault/roulette/RouletteWheelEvents$Spin.tick:I
     153: dconst_1
     154: aload_3
     155: getfield      #317                // Field com/arctania/vault/roulette/RouletteWheelEvents$Spin.tick:I
     158: i2d
     159: ldc2_w        #320                // double 80.0d
     162: ddiv
     163: invokestatic  #322                // Method java/lang/Math.min:(DD)D
     166: dstore        7
     168: dconst_1
     169: dconst_1
     170: dload         7
     172: dsub
     173: ldc2_w        #328                // double 3.0d
     176: invokestatic  #330                // Method java/lang/Math.pow:(DD)D
     179: dsub
     180: dstore        9
     182: aload_3
     183: getfield      #333                // Field com/arctania/vault/roulette/RouletteWheelEvents$Spin.totalSteps:I
     186: i2d
     187: dload         9
     189: dmul
     190: invokestatic  #336                // Method java/lang/Math.floor:(D)D
     193: d2i
     194: istore        11
     196: aload_3
     197: getfield      #340                // Field com/arctania/vault/roulette/RouletteWheelEvents$Spin.startFrame:I
     200: iload         11
     202: iadd
     203: bipush        15
     205: iand
     206: istore        12
     208: aload         5
     210: getstatic     #219                // Field com/arctania/vault/roulette/RouletteWheelBlock.FRAME:Lnet/minecraft/world/level/block/state/properties/IntegerProperty;
     213: invokevirtual #225                // Method net/minecraft/world/level/block/state/BlockState.m_61143_:(Lnet/minecraft/world/level/block/state/properties/Property;)Ljava/lang/Comparable;
     216: checkcast     #229                // class java/lang/Integer
     219: invokevirtual #231                // Method java/lang/Integer.intValue:()I
     222: iload         12
     224: if_icmpeq     254
     227: aload         4
     229: aload_3
     230: getfield      #310                // Field com/arctania/vault/roulette/RouletteWheelEvents$Spin.pos:Lnet/minecraft/core/BlockPos;
     233: aload         5
     235: getstatic     #219                // Field com/arctania/vault/roulette/RouletteWheelBlock.FRAME:Lnet/minecraft/world/level/block/state/properties/IntegerProperty;
     238: iload         12
     240: invokestatic  #343                // Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;
     243: invokevirtual #347                // Method net/minecraft/world/level/block/state/BlockState.m_61124_:(Lnet/minecraft/world/level/block/state/properties/Property;Ljava/lang/Comparable;)Ljava/lang/Object;
     246: checkcast     #58                 // class net/minecraft/world/level/block/state/BlockState
     249: iconst_3
     250: invokevirtual #351                // Method net/minecraft/server/level/ServerLevel.m_7731_:(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;I)Z
     253: pop
     254: aload_3
     255: getfield      #317                // Field com/arctania/vault/roulette/RouletteWheelEvents$Spin.tick:I
     258: bipush        80
     260: if_icmplt     375
     263: aload_1
     264: invokevirtual #355                // Method net/minecraft/server/MinecraftServer.m_6846_:()Lnet/minecraft/server/players/PlayerList;
     267: aload_3
     268: getfield      #359                // Field com/arctania/vault/roulette/RouletteWheelEvents$Spin.playerId:Ljava/util/UUID;
     271: invokevirtual #363                // Method net/minecraft/server/players/PlayerList.m_11259_:(Ljava/util/UUID;)Lnet/minecraft/server/level/ServerPlayer;
     274: astore        13
     276: aload         13
     278: ifnull        352
     281: aload         13
     283: aload_3
     284: getfield      #369                // Field com/arctania/vault/roulette/RouletteWheelEvents$Spin.reward:Lnet/minecraft/world/item/ItemStack;
     287: invokevirtual #373                // Method net/minecraft/server/level/ServerPlayer.m_36356_:(Lnet/minecraft/world/item/ItemStack;)Z
     290: ifne          304
     293: aload         13
     295: aload_3
     296: getfield      #369                // Field com/arctania/vault/roulette/RouletteWheelEvents$Spin.reward:Lnet/minecraft/world/item/ItemStack;
     299: iconst_0
     300: invokevirtual #379                // Method net/minecraft/server/level/ServerPlayer.m_36176_:(Lnet/minecraft/world/item/ItemStack;Z)Lnet/minecraft/world/entity/item/ItemEntity;
     303: pop
     304: aload_3
     305: getfield      #383                // Field com/arctania/vault/roulette/RouletteWheelEvents$Spin.tier:Lcom/arctania/vault/roulette/RouletteRewardPool$Tier;
     308: getfield      #387                // Field com/arctania/vault/roulette/RouletteRewardPool$Tier.id:Ljava/lang/String;
     311: aload_3
     312: getfield      #369                // Field com/arctania/vault/roulette/RouletteWheelEvents$Spin.reward:Lnet/minecraft/world/item/ItemStack;
     315: invokevirtual #141                // Method net/minecraft/world/item/ItemStack.m_41613_:()I
     318: aload_3
     319: getfield      #393                // Field com/arctania/vault/roulette/RouletteWheelEvents$Spin.rewardName:Ljava/lang/String;
     322: invokedynamic #396,  0            // InvokeDynamic #0:makeConcatWithConstants:(Ljava/lang/String;ILjava/lang/String;)Ljava/lang/String;
     327: astore        14
     329: aload         13
     331: aload         14
     333: invokestatic  #156                // InterfaceMethod net/minecraft/network/chat/Component.m_237113_:(Ljava/lang/String;)Lnet/minecraft/network/chat/MutableComponent;
     336: aload_3
     337: getfield      #383                // Field com/arctania/vault/roulette/RouletteWheelEvents$Spin.tier:Lcom/arctania/vault/roulette/RouletteRewardPool$Tier;
     340: getfield      #400                // Field com/arctania/vault/roulette/RouletteRewardPool$Tier.color:Lnet/minecraft/ChatFormatting;
     343: invokevirtual #168                // Method net/minecraft/network/chat/MutableComponent.m_130940_:(Lnet/minecraft/ChatFormatting;)Lnet/minecraft/network/chat/MutableComponent;
     346: invokevirtual #403                // Method net/minecraft/server/level/ServerPlayer.m_213846_:(Lnet/minecraft/network/chat/Component;)V
     349: goto          369
     352: aload         4
     354: aload_3
     355: getfield      #310                // Field com/arctania/vault/roulette/RouletteWheelEvents$Spin.pos:Lnet/minecraft/core/BlockPos;
     358: iconst_1
     359: invokevirtual #404                // Method net/minecraft/core/BlockPos.m_6630_:(I)Lnet/minecraft/core/BlockPos;
     362: aload_3
     363: getfield      #369                // Field com/arctania/vault/roulette/RouletteWheelEvents$Spin.reward:Lnet/minecraft/world/item/ItemStack;
     366: invokestatic  #408                // Method net/minecraft/world/level/block/Block.m_49840_:(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/item/ItemStack;)V
     369: aload_2
     370: invokeinterface #307,  1          // InterfaceMethod java/util/Iterator.remove:()V
     375: goto          41
     378: return

  private static net.minecraft.nbt.CompoundTag persistentData(net.minecraft.world.entity.player.Player);
    Code:
       0: aload_0
       1: invokevirtual #412                // Method java/lang/Object.getClass:()Ljava/lang/Class;
       4: ldc_w         #416                // String getPersistentData
       7: iconst_0
       8: anewarray     #418                // class java/lang/Class
      11: invokevirtual #420                // Method java/lang/Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
      14: aload_0
      15: iconst_0
      16: anewarray     #2                  // class java/lang/Object
      19: invokevirtual #424                // Method java/lang/reflect/Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
      22: checkcast     #136                // class net/minecraft/nbt/CompoundTag
      25: areturn
      26: astore_1
      27: new           #432                // class java/lang/RuntimeException
      30: dup
      31: aload_1
      32: invokespecial #434                // Method java/lang/RuntimeException."<init>":(Ljava/lang/Throwable;)V
      35: athrow
    Exception table:
       from    to  target type
           0    25    26   Class java/lang/ReflectiveOperationException

  private static java.lang.String key(net.minecraft.resources.ResourceKey<net.minecraft.world.level.Level>, net.minecraft.core.BlockPos);
    Code:
       0: aload_0
       1: invokevirtual #437                // Method net/minecraft/resources/ResourceKey.m_135782_:()Lnet/minecraft/resources/ResourceLocation;
       4: invokevirtual #443                // Method net/minecraft/resources/ResourceLocation.toString:()Ljava/lang/String;
       7: aload_1
       8: invokevirtual #448                // Method net/minecraft/core/BlockPos.m_121878_:()J
      11: invokedynamic #451,  0            // InvokeDynamic #1:makeConcatWithConstants:(Ljava/lang/String;J)Ljava/lang/String;
      16: areturn

  static {};
    Code:
       0: new           #444                // class net/minecraft/resources/ResourceLocation
       3: dup
       4: ldc_w         #454                // String arctanias_vault
       7: ldc_w         #456                // String roulette_wheel
      10: invokespecial #458                // Method net/minecraft/resources/ResourceLocation."<init>":(Ljava/lang/String;Ljava/lang/String;)V
      13: putstatic     #35                 // Field WHEEL_ID:Lnet/minecraft/resources/ResourceLocation;
      16: new           #444                // class net/minecraft/resources/ResourceLocation
      19: dup
      20: ldc_w         #454                // String arctanias_vault
      23: ldc_w         #461                // String roulette_ball
      26: invokespecial #458                // Method net/minecraft/resources/ResourceLocation."<init>":(Ljava/lang/String;Ljava/lang/String;)V
      29: putstatic     #106                // Field COST_ID:Lnet/minecraft/resources/ResourceLocation;
      32: new           #463                // class java/util/HashMap
      35: dup
      36: invokespecial #465                // Method java/util/HashMap."<init>":()V
      39: putstatic     #71                 // Field ACTIVE:Ljava/util/Map;
      42: return
}
