Serializers refactoring
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
@@ -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.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;
|
||||||
|
|||||||
@@ -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];
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user