public void saveIslandInfo(IslandInfo ii) { YamlConfiguration yamlIslandInfo = new YamlConfiguration(); File filePlayerInfo = new File(this.directoryIslands, ii.getIslandNumber() + ".yml"); yamlIslandInfo.set(EnumIslandConfig.ISLAND_OWNER.getPath(), ii.getIslandOwner()); yamlIslandInfo.set( EnumIslandConfig.ISLAND_LOCATION.getPath(), LocationParser.getStringFromLocation(ii.getIslandLocation())); yamlIslandInfo.set( EnumIslandConfig.HOME_LOCATION.getPath(), LocationParser.getStringFromLocation(ii.getHomeLocation())); yamlIslandInfo.set(EnumIslandConfig.FRIENDS.getPath(), ii.getFriends()); try { yamlIslandInfo.save(filePlayerInfo); } catch (IOException e) { e.printStackTrace(); } }
@SuppressWarnings("unchecked") public IslandInfo loadIslandInfo(String island) { YamlConfiguration yamlIslandInfo = new YamlConfiguration(); File fileIslandInfo = new File(this.directoryIslands, island); if (!fileIslandInfo.exists()) { return null; } try { yamlIslandInfo.load(fileIslandInfo); } catch (Exception e) { e.printStackTrace(); return null; } int islandNumber = Integer.parseInt(fileIslandInfo.getName().replace(".yml", "")); IslandInfo ii = new IslandInfo(islandNumber); String islandOwner = ""; if (yamlIslandInfo.contains(EnumIslandConfig.ISLAND_OWNER.getPath())) { islandOwner = yamlIslandInfo.get(EnumIslandConfig.ISLAND_OWNER.getPath()).toString(); } else { yamlIslandInfo.set(EnumIslandConfig.ISLAND_OWNER.getPath(), false); } ii.setIslandOwner(islandOwner); Location islandLocation = null; if (yamlIslandInfo.contains(EnumIslandConfig.ISLAND_LOCATION.getPath())) { islandLocation = LocationParser.parseStringToLocation( yamlIslandInfo.get(EnumIslandConfig.ISLAND_LOCATION.getPath()).toString()); } else { yamlIslandInfo.set( EnumIslandConfig.ISLAND_LOCATION.getPath(), LocationParser.getStringFromLocation(ii.getIslandLocation())); } ii.setIslandLocation(islandLocation); Location homeLocation = null; if (yamlIslandInfo.contains(EnumIslandConfig.HOME_LOCATION.getPath())) { islandLocation = LocationParser.parseStringToLocation( yamlIslandInfo.get(EnumIslandConfig.HOME_LOCATION.getPath()).toString()); } else { yamlIslandInfo.set( EnumIslandConfig.HOME_LOCATION.getPath(), LocationParser.getStringFromLocation(ii.getHomeLocation())); } ii.setHomeLocation(homeLocation); ArrayList<String> friends = new ArrayList<String>(); if (yamlIslandInfo.contains(EnumIslandConfig.FRIENDS.getPath())) { friends = (ArrayList<String>) yamlIslandInfo.get(EnumIslandConfig.FRIENDS.getPath()); } else { yamlIslandInfo.set(EnumIslandConfig.FRIENDS.getPath(), ii.getFriends()); } ii.setFriends(friends); boolean freeBuild = false; if (yamlIslandInfo.contains(EnumIslandConfig.FREE_BUILD.getPath())) { freeBuild = Boolean.parseBoolean( yamlIslandInfo.get(EnumIslandConfig.FREE_BUILD.getPath()).toString()); } else { yamlIslandInfo.set(EnumIslandConfig.FREE_BUILD.getPath(), ii.isFreeBuild()); } ii.setFreeBuild(freeBuild); try { yamlIslandInfo.save(fileIslandInfo); } catch (IOException e) { e.printStackTrace(); return null; } return ii; }