Testing some stuff

-Made functions to convert integers into natural numbers (cause why not)
-Ideas/plans of dynamic/custom region file sizes
This commit is contained in:
opfromthestart 2021-08-03 17:53:49 -04:00
parent eace6733ce
commit 4ab7cb738e

View File

@ -26,6 +26,10 @@ import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.zip.DeflaterOutputStream; import java.util.zip.DeflaterOutputStream;
import java.util.zip.InflaterInputStream; import java.util.zip.InflaterInputStream;
@ -42,10 +46,49 @@ import ru.windcorp.progressia.server.Server;
public class TestWorldDiskIO { public class TestWorldDiskIO {
private static final Path SAVE_DIR = Paths.get("tmp_world"); private static Path SAVE_DIR = Paths.get("tmp_world");
private static final Logger LOG = LogManager.getLogger("TestWorldDiskIO"); private static final Logger LOG = LogManager.getLogger("TestWorldDiskIO");
private static final boolean ENABLE = false; private static final boolean ENABLE = true;
private static final int maxSize = 1048576;
private static final int sectorSize = maxSize/256;
private Map<Vec3i,Vec3i> regions = new HashMap<Vec3i,Vec3i>();
private int natFromInt(int loc)
{
if (loc<0)
return (-loc)<<1 + 1;
return loc<<1;
}
private int intFromNat(int loc) // Possibly unused
{
if ((loc&1) == 1)
return -loc>>1;
return loc>>1;
}
private Vec3i getRegionLoc(Vec3i chunkLoc)
{
return new Vec3i(natFromInt(chunkLoc.x),natFromInt(chunkLoc.y),natFromInt(chunkLoc.z));
}
public void initRegions()
{
initRegions(null);
}
public void initRegions(Path worldPath)
{
if (worldPath!=null)
{
SAVE_DIR = worldPath;
}
regions.put(new Vec3i(0,0,0), new Vec3i(1,1,1));
}
public static void saveChunk(ChunkData chunk, Server server) { public static void saveChunk(ChunkData chunk, Server server) {
if (!ENABLE) if (!ENABLE)