Serializers refactoring
This commit is contained in:
@@ -33,7 +33,7 @@ subprojects {
|
||||
|
||||
/* Components */
|
||||
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) {
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
package mc.core.serialization;
|
||||
|
||||
import mc.core.block.Block;
|
||||
|
||||
public interface BlockDeserializer extends Deserializer<Block> {
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
package mc.core.serialization;
|
||||
|
||||
import mc.core.block.Block;
|
||||
|
||||
public interface BlockSerializer extends Serializer<Block> {
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
package mc.core.serialization;
|
||||
|
||||
import mc.core.world.Chunk;
|
||||
|
||||
public interface ChunkDeserializer extends Deserializer<Chunk>{
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
package mc.core.serialization;
|
||||
|
||||
import mc.core.world.Chunk;
|
||||
|
||||
public interface ChunkSerializer extends Serializer<Chunk>{
|
||||
}
|
||||
@@ -3,14 +3,14 @@ package mc.world.generated_world;
|
||||
import mc.core.block.Block;
|
||||
import mc.core.block.BlockFactory;
|
||||
import mc.core.block.BlockType;
|
||||
import mc.core.serialization.BlockDeserializer;
|
||||
import mc.core.serialization.BlockSerializer;
|
||||
import mc.core.serialization.Deserializer;
|
||||
import mc.core.serialization.Serializer;
|
||||
import mc.core.world.Chunk;
|
||||
|
||||
/**
|
||||
* Prototype
|
||||
*/
|
||||
public class BlockSerializerDeserializer implements BlockSerializer, BlockDeserializer {
|
||||
public class BlockSerializerDeserializer implements Serializer<Block>, Deserializer<Block> {
|
||||
|
||||
private BlockFactory blockFactory;
|
||||
private Chunk chunk;
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
package mc.world.generated_world;
|
||||
|
||||
import mc.core.block.Block;
|
||||
import mc.core.block.BlockFactory;
|
||||
import mc.core.serialization.BlockDeserializer;
|
||||
import mc.core.serialization.BlockSerializer;
|
||||
import mc.core.serialization.ChunkSerializer;
|
||||
import mc.core.serialization.ChunkDeserializer;
|
||||
import mc.core.serialization.Deserializer;
|
||||
import mc.core.serialization.Serializer;
|
||||
import mc.core.world.Chunk;
|
||||
|
||||
public class ChunkSerializerDeserializer implements ChunkSerializer, ChunkDeserializer {
|
||||
public class ChunkSerializerDeserializer implements Serializer<Chunk>, Deserializer<Chunk> {
|
||||
|
||||
private BlockSerializer blockSerializer;
|
||||
private BlockDeserializer blockDeserializer;
|
||||
private Serializer<Block> blockSerializer;
|
||||
private Deserializer<Block> blockDeserializer;
|
||||
|
||||
@Override
|
||||
public Chunk deserialize(byte[] bytes) {
|
||||
@@ -19,7 +18,7 @@ public class ChunkSerializerDeserializer implements ChunkSerializer, ChunkDeseri
|
||||
|
||||
@Override
|
||||
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;
|
||||
byte[] bytes = new byte[6 + 3 * blocks];
|
||||
|
||||
|
||||
@@ -1,23 +1,18 @@
|
||||
package mc.world.generated_world;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import mc.core.serialization.ChunkDeserializer;
|
||||
import mc.core.serialization.ChunkSerializer;
|
||||
import mc.core.serialization.Deserializer;
|
||||
import mc.core.serialization.Serializer;
|
||||
import mc.core.world.*;
|
||||
import mc.world.generated_world.region.RegionImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
|
||||
import static mc.world.generated_world.WorldConstants.*;
|
||||
|
||||
@@ -30,9 +25,9 @@ public class InMemoryCacheChunkLoader implements ChunkLoader {
|
||||
private WorldGenerator worldGenerator;
|
||||
|
||||
@Autowired
|
||||
private ChunkDeserializer chunkDeserializer;
|
||||
private Deserializer<Chunk> chunkDeserializer;
|
||||
@Autowired
|
||||
private ChunkSerializer chunkSerializer;
|
||||
private Serializer<Chunk> chunkSerializer;
|
||||
@Autowired
|
||||
private Serializer<Region> regionSerializer;
|
||||
@Autowired
|
||||
|
||||
Reference in New Issue
Block a user