/** * Gets all images for saved game. * * @param savePath a path to saves directory * @return all preview images */ public static List<BufferedImage> getAllPreviewImages(final Path savePath) { final List<BufferedImage> result = new ArrayList<>(); final StoragePathProvider storagePathProvider = new StoragePathProvider(savePath); final Path previewsDirPath = storagePathProvider.getPreviewsPath(); for (Path previewPath : getAllPathsToFilesInFolder(previewsDirPath)) { try (InputStream in = new BufferedInputStream(Files.newInputStream(previewPath))) { result.add(ImageIO.read(in)); } catch (IOException ex) { logger.warn("Can't load an image", ex); } } result.removeIf(Objects::isNull); return result; }
/** * Gets a path to next game preview image. * * @param savePath a path to saves directory * @return a path to preview image */ public static Path getNextGamePreviewImagePath(final Path savePath) { final StoragePathProvider storagePathProvider = new StoragePathProvider(savePath); final Path previewsDirPath = storagePathProvider.getPreviewsPath(); final List<Path> previewsPaths = getAllPathsToFilesInFolder(previewsDirPath); final String fileName = getNextPreviewImageName(previewsPaths); return previewsDirPath.resolve(fileName); }
public AbstractStorageManager(Path savePath, ModuleEnvironment environment, EngineEntityManager entityManager, BlockManager blockManager, BiomeManager biomeManager, ExtraBlockDataManager extraDataManager, boolean storeChunksInZips) { this.entityManager = entityManager; this.environment = environment; this.storeChunksInZips = storeChunksInZips; this.prefabSerializer = new PrefabSerializer(entityManager.getComponentLibrary(), entityManager.getTypeSerializerLibrary()); this.blockManager = blockManager; this.biomeManager = biomeManager; this.extraDataManager = extraDataManager; this.storagePathProvider = new StoragePathProvider(savePath); this.helper = new OwnershipHelper(entityManager.getComponentLibrary()); }