Archived
0

Serializers refactoring

This commit is contained in:
Forwolk
2018-08-02 09:22:38 +03:00
parent ad4a088949
commit f55c9bfb33
8 changed files with 13 additions and 43 deletions

View File

@@ -33,7 +33,7 @@ subprojects {
/* Components */ /* Components */
compile (group: 'org.projectlombok', name: 'lombok', version: '1.16.16') compile (group: 'org.projectlombok', name: 'lombok', version: '1.16.16')
compile 'com.flowpowered:flow-nbt:1.0.1-SNAPSHOT' //Named Binary Tags compile 'com.flowpowered:flow-nbt:1.0.0' //Named Binary Tags
} }
task copyDep(type: Copy) { task copyDep(type: Copy) {

View File

@@ -1,6 +0,0 @@
package mc.core.serialization;
import mc.core.block.Block;
public interface BlockDeserializer extends Deserializer<Block> {
}

View File

@@ -1,6 +0,0 @@
package mc.core.serialization;
import mc.core.block.Block;
public interface BlockSerializer extends Serializer<Block> {
}

View File

@@ -1,6 +0,0 @@
package mc.core.serialization;
import mc.core.world.Chunk;
public interface ChunkDeserializer extends Deserializer<Chunk>{
}

View File

@@ -1,6 +0,0 @@
package mc.core.serialization;
import mc.core.world.Chunk;
public interface ChunkSerializer extends Serializer<Chunk>{
}

View File

@@ -3,14 +3,14 @@ package mc.world.generated_world;
import mc.core.block.Block; import mc.core.block.Block;
import mc.core.block.BlockFactory; import mc.core.block.BlockFactory;
import mc.core.block.BlockType; import mc.core.block.BlockType;
import mc.core.serialization.BlockDeserializer; import mc.core.serialization.Deserializer;
import mc.core.serialization.BlockSerializer; import mc.core.serialization.Serializer;
import mc.core.world.Chunk; import mc.core.world.Chunk;
/** /**
* Prototype * Prototype
*/ */
public class BlockSerializerDeserializer implements BlockSerializer, BlockDeserializer { public class BlockSerializerDeserializer implements Serializer<Block>, Deserializer<Block> {
private BlockFactory blockFactory; private BlockFactory blockFactory;
private Chunk chunk; private Chunk chunk;

View File

@@ -1,16 +1,15 @@
package mc.world.generated_world; package mc.world.generated_world;
import mc.core.block.Block;
import mc.core.block.BlockFactory; import mc.core.block.BlockFactory;
import mc.core.serialization.BlockDeserializer; import mc.core.serialization.Deserializer;
import mc.core.serialization.BlockSerializer; import mc.core.serialization.Serializer;
import mc.core.serialization.ChunkSerializer;
import mc.core.serialization.ChunkDeserializer;
import mc.core.world.Chunk; import mc.core.world.Chunk;
public class ChunkSerializerDeserializer implements ChunkSerializer, ChunkDeserializer { public class ChunkSerializerDeserializer implements Serializer<Chunk>, Deserializer<Chunk> {
private BlockSerializer blockSerializer; private Serializer<Block> blockSerializer;
private BlockDeserializer blockDeserializer; private Deserializer<Block> blockDeserializer;
@Override @Override
public Chunk deserialize(byte[] bytes) { public Chunk deserialize(byte[] bytes) {
@@ -19,7 +18,7 @@ public class ChunkSerializerDeserializer implements ChunkSerializer, ChunkDeseri
@Override @Override
public byte[] serialize(Chunk chunk) { public byte[] serialize(Chunk chunk) {
BlockSerializer blockSerializer = new BlockSerializerDeserializer(new BlockFactory(), chunk); Serializer<Block> blockSerializer = new BlockSerializerDeserializer(new BlockFactory(), chunk);
int blocks = chunk.getModifiedBlocks().length; int blocks = chunk.getModifiedBlocks().length;
byte[] bytes = new byte[6 + 3 * blocks]; byte[] bytes = new byte[6 + 3 * blocks];

View File

@@ -1,23 +1,18 @@
package mc.world.generated_world; package mc.world.generated_world;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import mc.core.serialization.ChunkDeserializer;
import mc.core.serialization.ChunkSerializer;
import mc.core.serialization.Deserializer; import mc.core.serialization.Deserializer;
import mc.core.serialization.Serializer; import mc.core.serialization.Serializer;
import mc.core.world.*; import mc.core.world.*;
import mc.world.generated_world.region.RegionImpl;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.text.MessageFormat; import java.text.MessageFormat;
import java.util.Optional; import java.util.Optional;
import java.util.UUID;
import static mc.world.generated_world.WorldConstants.*; import static mc.world.generated_world.WorldConstants.*;
@@ -30,9 +25,9 @@ public class InMemoryCacheChunkLoader implements ChunkLoader {
private WorldGenerator worldGenerator; private WorldGenerator worldGenerator;
@Autowired @Autowired
private ChunkDeserializer chunkDeserializer; private Deserializer<Chunk> chunkDeserializer;
@Autowired @Autowired
private ChunkSerializer chunkSerializer; private Serializer<Chunk> chunkSerializer;
@Autowired @Autowired
private Serializer<Region> regionSerializer; private Serializer<Region> regionSerializer;
@Autowired @Autowired