Advertisement
JackOUT

Untitled

Oct 12th, 2022 (edited)
1,295
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.73 KB | None | 0 0
  1.         public static SerializedMap deserialize(final SerializedMap map/*, final int level*/) {
  2.             final Map<Integer, LevelData> levels = new HashMap<>();
  3.  
  4.             for (final Map.Entry<String, Object> entry : map.entrySet()) {
  5.                 final int level = Integer.parseInt(entry.getKey());
  6.                 final LevelData levelData = new LevelData(level);
  7.                 final SerializedMap levelSettings = SerializedMap.of(entry.getValue());
  8.  
  9.                 System.out.println("Level: " + level);
  10.                 System.out.println("Map: " + map);
  11.                 System.out.println("Entry: " + levelSettings);
  12.  
  13.                 levelSettings.setRemoveOnGet(true);
  14.  
  15.                 levelData.range = levelSettings.getInteger("Range");
  16.                 Valid.checkNotNull(levelData.range, "Missing 'Range' key from level: " + map);
  17.  
  18.                 levelData.health = levelSettings.getInteger("Health");
  19.                 Valid.checkNotNull(levelData.health, "Missing 'Health' key from level: " + map);
  20.  
  21.                 levelData.price = levelSettings.getDouble("Price");
  22.                 Valid.checkNotNull(levelData.price, "Missing 'Price' key from level: " + map);
  23.  
  24.                 levelData.laserEnabled = levelSettings.getBoolean("Enable_Laser_Pointer");
  25.                 Valid.checkNotNull(levelData.laserEnabled, "Missing 'Enable_Laser_Pointers' key from level: " + map);
  26.  
  27.                 levelData.laserDamage = levelSettings.getDouble("Laser_Pointer_Damage");
  28.                 Valid.checkNotNull(levelData.price, "Missing 'Laser_Pointer_Damage' key from level: " + map);
  29.  
  30.                 levelData.lootChances = levelSettings.getTupleList("Loot_Drops", ItemStack.class, Double.class);
  31.                 Valid.checkNotNull(levelData.lootChances, "Missing 'Loot_Drops' key from level: " + map);
  32.  
  33.                 Valid.checkBoolean(levelSettings.isEmpty(), "Found unrecognized level settings: " + map);
  34.  
  35.                 levels.put(level, levelData);
  36.             }
  37.  
  38.             return SerializedMap.of(levels);
  39.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement