Archived
0

Flat world

This commit is contained in:
2018-04-28 11:53:43 +03:00
parent e788841f04
commit a55e340cfe
8 changed files with 209 additions and 36 deletions

19
flat_world/README.MD Normal file
View File

@@ -0,0 +1,19 @@
# Flat world
Плоский мир
## Spring bean
```xml
<bean id="flatWorld" class="mc.world.flat.FlatWorld">
<property name="spawn">
<bean class="mc.core.Location">
<constructor-arg index="0" type="double" value="8"/>
<constructor-arg index="1" type="double" value="6"/>
<constructor-arg index="2" type="double" value="8"/>
</bean>
</property>
</bean>
```
`spawn` - точка спавна

7
flat_world/build.gradle Normal file
View File

@@ -0,0 +1,7 @@
group 'mc'
version '1.0-SNAPSHOT'
dependencies {
/* Core */
compile_excludeCopy project(':core')
}

View File

@@ -0,0 +1,28 @@
/*
* DmitriyMX <dimon550@gmail.com>
* 2018-04-28
*/
package mc.world.flat;
import lombok.Getter;
import lombok.Setter;
import mc.core.Location;
import mc.core.world.Chunk;
import mc.core.world.World;
public class FlatWorld implements World {
@Getter
@Setter
private Location spawn = new Location(0, 6, 0);
private Chunk chunk = new SimpleChunk();
@Override
public Chunk getChunk(int x, int z) {
return chunk;
}
@Override
public void setChunk(int x, int z, Chunk chunk) {
throw new UnsupportedOperationException();
}
}

View File

@@ -0,0 +1,127 @@
/*
* DmitriyMX <dimon550@gmail.com>
* 2018-04-28
*/
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;
}
@Override
public void setBlockType(int x, int y, int z, int type) {
}
@Override
public int getBlockMetadata(int x, int y, int z) {
return 0;
}
@Override
public int[] getBlockMetadataAsArray() {
return blockmeta;
}
@Override
public void setBlockMetadata(int x, int y, int z, int metadata) {
}
@Override
public int getBlockLight(int x, int y, int z) {
return 0;
}
@Override
public int[] getBlockLightAsArray() {
return blocklight;
}
@Override
public void setBlockLight(int x, int y, int z, int lightLevel) {
}
@Override
public int getSkyLight(int x, int y, int z) {
return 0;
}
@Override
public int[] getSkyLightAsArray() {
return skylight;
}
@Override
public void setSkyLight(int x, int y, int z, int lightLevel) {
}
@Override
public int getAddition(int x, int y, int z) {
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) {
return 0;
}
@Override
public int[] getBiomeAsArray() {
return biometype;
}
@Override
public void setBiome(int x, int y, int z, int value) {
}
}