Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static List<LevelData> deserialize(final SerializedMap map) {
- //final Map<Integer, LevelData> levels = new HashMap<>();
- final List<LevelData> levelDataList = new ArrayList<>();
- for (final Map.Entry<String, Object> entry : map.entrySet()) {
- final int level = Integer.parseInt(entry.getKey());
- final LevelData levelData = new LevelData(level);
- final SerializedMap levelSettings = SerializedMap.of(entry.getValue());
- System.out.println("Level: " + level);
- System.out.println("Map: " + map);
- System.out.println("Entry: " + levelSettings);
- levelSettings.setRemoveOnGet(true);
- levelData.range = levelSettings.getInteger("Range");
- Valid.checkNotNull(levelData.range, "Missing 'Range' key from level: " + map);
- levelData.health = levelSettings.getInteger("Health");
- Valid.checkNotNull(levelData.health, "Missing 'Health' key from level: " + map);
- levelData.price = levelSettings.getDouble("Price");
- Valid.checkNotNull(levelData.price, "Missing 'Price' key from level: " + map);
- levelData.laserEnabled = levelSettings.getBoolean("Enable_Laser_Pointer");
- Valid.checkNotNull(levelData.laserEnabled, "Missing 'Enable_Laser_Pointers' key from level: " + map);
- levelData.laserDamage = levelSettings.getDouble("Laser_Pointer_Damage");
- Valid.checkNotNull(levelData.price, "Missing 'Laser_Pointer_Damage' key from level: " + map);
- levelData.lootChances = levelSettings.getTupleList("Loot_Drops", ItemStack.class, Double.class);
- Valid.checkNotNull(levelData.lootChances, "Missing 'Loot_Drops' key from level: " + map);
- Valid.checkBoolean(levelSettings.isEmpty(), "Found unrecognized level settings: " + map);
- //levels.put(level, levelData);
- levelDataList.add(level - 1, levelData);
- }
- System.out.println("Levels map: " + levelDataList);
- return levelDataList;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement