4jcraft/targets/minecraft/world/level/storage/ConsoleSaveFileIO/ConsoleSaveFileInputStream.h
Tropical dd93cfe91e
Some checks are pending
Build (Linux, x86-64) / build-linux (push) Waiting to run
Format Check / clang-format (push) Waiting to run
format everything
2026-04-01 13:48:29 -05:00

28 lines
906 B
C++

#pragma once
// 4J Stu - Implements the Java InputStream but rather than writing directly to
// disc it writes through the save file
#include <stdint.h>
#include "java/InputOutputStream/InputStream.h"
#include "minecraft/world/level/storage/ConsoleSaveFileIO/ConsoleSavePath.h"
class ConsoleSaveFile;
class FileEntry;
class ConsoleSaveFileInputStream : public InputStream {
public:
ConsoleSaveFileInputStream(ConsoleSaveFile* saveFile,
const ConsoleSavePath& file);
ConsoleSaveFileInputStream(ConsoleSaveFile* saveFile, FileEntry* file);
virtual int read();
virtual int read(std::vector<uint8_t>& b);
virtual int read(std::vector<uint8_t>& b, unsigned int offset,
unsigned int length);
virtual void close();
virtual int64_t skip(int64_t n) { return n; }
private:
ConsoleSaveFile* m_saveFile;
FileEntry* m_file;
};