Archived
0

нормальная сериализация чанка

This commit is contained in:
2018-04-28 20:42:44 +03:00
parent a55e340cfe
commit ed22229bd2
3 changed files with 90 additions and 78 deletions

View File

@@ -6,43 +6,13 @@ package mc.world.flat;
import mc.core.world.Chunk;
import java.util.Arrays;
public class SimpleChunk implements Chunk {
private int[] blocktype = new int[4096];
private int[] blockmeta = new int[2048];
private int[] blocklight = new int[2048];
private int[] skylight = new int[2048];
private int[] addition = new int[2048];
private int[] biometype = new int[256];
SimpleChunk() {
Arrays.fill(blocktype, 0, 256, 7);
Arrays.fill(blocktype, 256, 768, 3);
Arrays.fill(blocktype, 768, 1024, 2);
Arrays.fill(blocktype, 1024, 4096, 0);
Arrays.fill(blockmeta, 0);
Arrays.fill(blocklight, 0);
Arrays.fill(skylight, 0, 512, 0);
Arrays.fill(skylight, 512, 2048, -1);
Arrays.fill(addition, 0, 256, 1);
Arrays.fill(addition, 256, 2048, 0);
Arrays.fill(biometype, 0);
}
@Override
public int getBlockType(int x, int y, int z) {
return 0;
}
@Override
public int[] getBlockTypeAsArray() {
return blocktype;
if (y == 0) return 7;
else if (y >= 1 && y <= 2) return 3;
else if (y == 3) return 2;
else return 0;
}
@Override
@@ -55,11 +25,6 @@ public class SimpleChunk implements Chunk {
return 0;
}
@Override
public int[] getBlockMetadataAsArray() {
return blockmeta;
}
@Override
public void setBlockMetadata(int x, int y, int z, int metadata) {
@@ -70,11 +35,6 @@ public class SimpleChunk implements Chunk {
return 0;
}
@Override
public int[] getBlockLightAsArray() {
return blocklight;
}
@Override
public void setBlockLight(int x, int y, int z, int lightLevel) {
@@ -82,12 +42,8 @@ public class SimpleChunk implements Chunk {
@Override
public int getSkyLight(int x, int y, int z) {
return 0;
}
@Override
public int[] getSkyLightAsArray() {
return skylight;
if (y <= 3) return 0;
else return 15;
}
@Override
@@ -100,28 +56,18 @@ public class SimpleChunk implements Chunk {
return 0;
}
@Override
public int[] getAdditionAsArray() {
return addition;
}
@Override
public void setAddition(int x, int y, int z, int value) {
}
@Override
public int getBiome(int x, int y, int z) {
public int getBiome(int x, int z) {
return 0;
}
@Override
public int[] getBiomeAsArray() {
return biometype;
}
@Override
public void setBiome(int x, int y, int z, int value) {
public void setBiome(int x, int z, int value) {
}
}