Archived
0

Merge branch 'develop' into dmitriymx/location-refactory

# Conflicts:
#	core/src/main/java/mc/core/Location.java
#	flat_world/src/main/java/mc/world/flat/FlatWorld.java
#	generated_world/src/main/java/mc/world/generated_world/world/CubicWorld.java
#	proto_1.12.2_netty/src/main/java/mc/core/network/proto_1_12_2/netty/handlers/LoginHandler.java
This commit is contained in:
2018-08-10 12:00:13 +03:00
65 changed files with 2132 additions and 391 deletions

View File

@@ -8,11 +8,7 @@ import com.flowpowered.nbt.Tag;
import lombok.Getter;
import lombok.Setter;
import mc.core.EntityLocation;
import mc.core.world.IWorldType;
import mc.core.world.Region;
import mc.core.world.World;
import mc.core.world.WorldType;
import mc.core.world.chunk.Chunk;
import mc.core.world.*;
import java.util.UUID;
import java.util.stream.Stream;
@@ -29,7 +25,7 @@ public class FlatWorld implements World {
@Getter
@Setter
private EntityLocation spawn = new EntityLocation(0d, 6d, 0d, 0f, 0f, this);
private Chunk chunk = new SimpleChunk(0, 0, 0); //FIXME temporary dummy
private ChunkSection chunkSection = new SimpleChunkSection();
@Override
public IWorldType getWorldType() {
@@ -37,12 +33,12 @@ public class FlatWorld implements World {
}
@Override
public Chunk getChunk(int x, int y, int z) {
return chunk;
public ChunkSection getChunk(int x, int y, int z) {
return chunkSection;
}
@Override
public void setChunk(int x, int y, int z, Chunk chunk) {
public void setChunk(int x, int y, int z, ChunkSection chunkSection) {
throw new UnsupportedOperationException();
}

View File

@@ -5,34 +5,14 @@
package mc.world.flat;
import mc.core.world.Biome;
import mc.core.world.ChunkSection;
import mc.core.world.Region;
import mc.core.world.World;
import mc.core.world.block.Block;
import mc.core.world.block.BlockFactory;
import mc.core.world.chunk.Chunk;
import static mc.core.world.block.BlockType.*;
public class SimpleChunk implements Chunk {
private static BlockFactory blockFactory = new BlockFactory();
private final int x, y, z;
public SimpleChunk(int x, int y, int z) {
this.x = x;
this.y = y;
this.z = z;
}
@Override
public Block getBlock(int x, int y, int z) {
if (y == 0) return blockFactory.create(BEDROCK);
else if (y >= 1 && y <= 2) return blockFactory.create(DIRT);
else if (y == 3) return blockFactory.create(GRASS);
else return blockFactory.create(AIR);
}
@Override
public void setBlock(Block block) {
}
import mc.core.world.block.BlockType;
public class SimpleChunkSection implements ChunkSection {
@Override
public int getSkyLight(int x, int y, int z) {
if (y <= 3) return 0;
@@ -66,16 +46,41 @@ public class SimpleChunk implements Chunk {
@Override
public int getX() {
return x;
return 0;
}
@Override
public int getY() {
return y;
return 0;
}
@Override
public int getZ() {
return z;
return 0;
}
@Override
public void setBlock(Block block) {
}
@Override
public Block getBlock(int x, int y, int z) {
BlockFactory blockFactory = new BlockFactory();
if (y == 0) return blockFactory.create(BlockType.BEDROCK, 0);
else if (y >= 1 && y <= 2) return blockFactory.create(BlockType.DIRT, 0);
else if (y == 3) return blockFactory.create(BlockType.GRASS, 0);
else return blockFactory.create(BlockType.AIR, 0);
}
@Override
public Region getRegion() {
return null;
}
@Override
public World getWorld() {
return null;
}
}