From e2308b825db8c99b888a7e9a614eaf5ae241e4e7 Mon Sep 17 00:00:00 2001 From: OLEGSHA Date: Fri, 10 Sep 2021 23:31:14 +0300 Subject: [PATCH] Removed warnings and formatted code --- .../progressia/ProgressiaLauncher.java | 13 +- .../progressia/test/region/Region.java | 22 +-- .../progressia/test/region/RegionFile.java | 184 ++++++++---------- .../test/region/TestWorldDiskIO.java | 17 +- 4 files changed, 103 insertions(+), 133 deletions(-) diff --git a/src/main/java/ru/windcorp/progressia/ProgressiaLauncher.java b/src/main/java/ru/windcorp/progressia/ProgressiaLauncher.java index e85e2f0..099d378 100644 --- a/src/main/java/ru/windcorp/progressia/ProgressiaLauncher.java +++ b/src/main/java/ru/windcorp/progressia/ProgressiaLauncher.java @@ -18,7 +18,6 @@ package ru.windcorp.progressia; -import ru.windcorp.progressia.client.ClientProxy; import ru.windcorp.progressia.client.graphics.GUI; import ru.windcorp.progressia.common.util.crash.CrashReports; import ru.windcorp.progressia.common.util.crash.analyzers.OutOfMemoryAnalyzer; @@ -28,16 +27,20 @@ import ru.windcorp.progressia.test.LayerTitle; public class ProgressiaLauncher { public static String[] arguments; - private static ClientProxy proxy; + private static Proxy proxy; - public static void launch(String[] args, ClientProxy inProxy) { + public static void launch(String[] args, Proxy proxy) { arguments = args.clone(); setupCrashReports(); - inProxy.initialize(); - proxy = inProxy; + proxy.initialize(); + ProgressiaLauncher.proxy = proxy; GUI.addTopLayer(new LayerTitle("Title")); } + + public static Proxy getProxy() { + return proxy; + } private static void setupCrashReports() { // Context providers diff --git a/src/main/java/ru/windcorp/progressia/test/region/Region.java b/src/main/java/ru/windcorp/progressia/test/region/Region.java index 0f38ee0..3ff1804 100644 --- a/src/main/java/ru/windcorp/progressia/test/region/Region.java +++ b/src/main/java/ru/windcorp/progressia/test/region/Region.java @@ -40,14 +40,14 @@ import ru.windcorp.progressia.common.world.io.ChunkIO; import ru.windcorp.progressia.server.Server; public class Region { - + private static final boolean RESET_CORRUPTED = true; - + public int loadedChunks; private AtomicBoolean isUsing = new AtomicBoolean(false); private AtomicBoolean isClosed = new AtomicBoolean(false); - + private final RegionFile file; private final ChunkMap offsets = ChunkMaps.newHashMap(); @@ -87,28 +87,26 @@ public class Region { public void putOffset(Vec3i pos, int offset) { offsets.put(pos, offset); } - - public AtomicBoolean isClosed() - { + + public AtomicBoolean isClosed() { return isClosed; } - - public AtomicBoolean isUsing() - { + + public AtomicBoolean isUsing() { return isUsing; } public void save(DefaultChunkData chunk, Server server) throws IOException { isUsing.set(true); Vec3i pos = TestWorldDiskIO.getInRegionCoords(chunk.getPosition()); - + if (!hasOffset(pos)) { putOffset(pos, file.allocateChunk(pos)); } int dataOffset = getOffset(pos); byte[] buffer = saveToBuffer(chunk, server); - + file.writeBuffer(buffer, dataOffset, pos); isUsing.set(false); } @@ -129,8 +127,6 @@ public class Region { return arrayStream.toByteArray(); } - - public DefaultChunkData load(Vec3i chunkPos, DefaultWorldData world, Server server) throws IOException, DecodingException { diff --git a/src/main/java/ru/windcorp/progressia/test/region/RegionFile.java b/src/main/java/ru/windcorp/progressia/test/region/RegionFile.java index fa064b8..ee30f1a 100644 --- a/src/main/java/ru/windcorp/progressia/test/region/RegionFile.java +++ b/src/main/java/ru/windcorp/progressia/test/region/RegionFile.java @@ -13,46 +13,43 @@ import org.apache.logging.log4j.LogManager; import glm.vec._3.i.Vec3i; import ru.windcorp.progressia.common.world.generic.ChunkMap; -/**Backend for the .progressia_region file. +/** + * Backend for the .progressia_region file. * Use similarly to a file object - * */ public class RegionFile { // 4 MiB private static final int MAX_CHUNK_SIZE = 4 * 1024 * 1024; private static final int SECTORS_BYTES = Short.BYTES; - private static final int SECTOR_SIZE = MAX_CHUNK_SIZE >> (SECTORS_BYTES*8); + private static final int SECTOR_SIZE = MAX_CHUNK_SIZE >> (SECTORS_BYTES * 8); private static final int SECTOR_HEADER_SIZE = 1; - + final byte endBytes[] = new byte[SECTOR_SIZE]; - - public static enum SectorType - { - Ending (0), // Just an empty block - Data (1), // has a byte counting up in position 1, and then - PartitionLink (2), - BulkSaved (3); // TODO implement this - + + public static enum SectorType { + Ending(0), // Just an empty block + Data(1), // has a byte counting up in position 1, and then + PartitionLink(2), + BulkSaved(3); // TODO implement this + private final byte data; - - SectorType(int i) - { + + SectorType(int i) { this.data = (byte) i; } - + } - + private static final int DEFINITION_SIZE = Integer.BYTES; private static final int HEADER_SIZE = DEFINITION_SIZE * REGION_DIAMETER * REGION_DIAMETER * REGION_DIAMETER; - + private final RandomAccessFile file; - - public RegionFile(RandomAccessFile inFile) - { + + public RegionFile(RandomAccessFile inFile) { file = inFile; } - + public void confirmHeaderHealth(ChunkMap offsets) throws IOException { Set used = new HashSet(); @@ -63,14 +60,14 @@ public class RegionFile { throw new IOException("File is too short to contain a header"); } - for (int i = 0; i < chunksPerRegion; i++) { - file.seek(i*DEFINITION_SIZE); + for (int i = 0; i < chunksPerRegion; i++) { + file.seek(i * DEFINITION_SIZE); int offset = file.readInt(); if (offset == 0) { continue; } - + offset--; Vec3i pos = new Vec3i(); @@ -79,70 +76,60 @@ public class RegionFile { pos.z = i % REGION_DIAMETER; offsets.put(pos, offset); - + boolean shouldEnd = false; byte counter = 0; - while (!shouldEnd) - { - if (offset > maxUsed) - { + while (!shouldEnd) { + if (offset > maxUsed) { maxUsed = offset; } if (!used.add(offset)) { throw new IOException("A sector is used twice"); } - - file.seek(HEADER_SIZE + SECTOR_SIZE*offset); + + file.seek(HEADER_SIZE + SECTOR_SIZE * offset); byte type = file.readByte(); - - if (type == SectorType.Data.data) - { + + if (type == SectorType.Data.data) { byte fileCounter = file.readByte(); - if (fileCounter != counter) - { + if (fileCounter != counter) { throw new IOException("An unexpected block was found"); } counter++; offset++; - } - else if (type == SectorType.Ending.data) { + } else if (type == SectorType.Ending.data) { shouldEnd = true; - } - else if (type == SectorType.PartitionLink.data) - { + } else if (type == SectorType.PartitionLink.data) { offset = file.readInt(); } - + } } - LogManager.getLogger("Region").debug("Efficiency of {}", (double) used.size()/maxUsed); + LogManager.getLogger("Region").debug("Efficiency of {}", (double) used.size() / maxUsed); } - - public void makeHeader() throws IOException - { + + public void makeHeader() throws IOException { file.seek(0); - for (int i=0;i HEADER_SIZE + SECTOR_SIZE * (dataOffset + 1)) { file.seek(HEADER_SIZE + SECTOR_SIZE * (dataOffset + 1)); byte header = file.readByte(); if (header == SectorType.Data.data) { byte fileCounter = file.readByte(); - if (fileCounter != counter+1) // This makes the actual - // partition place + if (fileCounter != counter + 1) // This makes the actual + // partition place { int newOffset = allocateEmptySector(); file.seek(HEADER_SIZE + SECTOR_SIZE * dataOffset); @@ -155,51 +142,47 @@ public class RegionFile { tempBuffer[0] = 1; tempBuffer[1] = counter; counter++; - for (int i=0;i<(SECTOR_SIZE-SECTOR_HEADER_SIZE-1);i++) - { - if (loc*(SECTOR_SIZE-SECTOR_HEADER_SIZE-1) + i isCloseds = ChunkMaps.newHashMap(); ChunkMap isUsings = ChunkMaps.newHashMap(); - - for (Vec3i region : regions.keys()) - { + + for (Vec3i region : regions.keys()) { isCloseds.put(region, regions.get(region).isClosed()); isUsings.put(region, regions.get(region).isUsing()); } - + boolean stillOpen = true; - while (stillOpen) - { + while (stillOpen) { stillOpen = false; for (Vec3i region : regions.keys()) { - if (!isCloseds.get(region).get() && !isUsings.get(region).get()) - { + if (!isCloseds.get(region).get() && !isUsings.get(region).get()) { regions.get(region).close(); - } - else if (isUsings.get(region).get()) - { + } else if (isUsings.get(region).get()) { stillOpen = false; } }