本文整理汇总了Java中ethanjones.cubes.world.storage.Area.SIZE_BLOCKS属性的典型用法代码示例。如果您正苦于以下问题:Java Area.SIZE_BLOCKS属性的具体用法?Java Area.SIZE_BLOCKS怎么用?Java Area.SIZE_BLOCKS使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类ethanjones.cubes.world.storage.Area
的用法示例。
在下文中一共展示了Area.SIZE_BLOCKS属性的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: generate
@Override
public void generate(Area area) {
area.lock.writeLock();
for (int x = 0; x < Area.SIZE_BLOCKS; x++) {
for (int z = 0; z < Area.SIZE_BLOCKS; z++) {
int g = getSurfaceHeight(x + area.minBlockX, z + area.minBlockZ);
int d = getDirtHeight(x + area.minBlockX, z + area.minBlockZ);
if ((x == 0 && z == 0) || g > area.maxY)
area.setupArrays(g);
area.blocks[Area.getRef(x, 0, z)] = Blocks.bedrock.intID;
for (int y = 1; y < g; y++) {
if (y < (g - d))
area.blocks[Area.getRef(x, y, z)] = Blocks.stone.intID;
else
area.blocks[Area.getRef(x, y, z)] = Blocks.dirt.intID;
}
area.blocks[Area.getRef(x, g, z)] = Blocks.grass.intID;
}
}
caves.apply(area);
area.lock.writeUnlock();
}
示例2: generate
@Override
public void generate(Area area) {
for (int x = 0; x < Area.SIZE_BLOCKS; x++) {
for (int z = 0; z < Area.SIZE_BLOCKS; z++) {
set(area, Blocks.bedrock, x, 0, z, 0);
set(area, Blocks.stone, x, 1, z, 0);
set(area, Blocks.stone, x, 2, z, 0);
set(area, Blocks.dirt, x, 3, z, 0);
set(area, Blocks.grass, x, 4, z, 0);
}
}
if (area.areaX == 0 && area.areaZ == 0 && old) {
set(area, Blocks.bedrock, 1, 4, 1, 0);
set(area, Blocks.bedrock, 1, 7, 1, 0);
set(area, Blocks.stone, 5, 5, 3, 0);
set(area, Blocks.grass, 3, 5, 5, 0);
}
}
示例3: createVerticesArea
private static int createVerticesArea(float[] vertices, int vertexOffset, float x, float z) {
vertices[vertexOffset++] = x;
vertices[vertexOffset++] = 0;
vertices[vertexOffset++] = z;
vertices[vertexOffset++] = textureRegionArea.getU();
vertices[vertexOffset++] = textureRegionArea.getV();
vertices[vertexOffset++] = BlockLight.FULL_LIGHT;
vertices[vertexOffset++] = x;
vertices[vertexOffset++] = Area.SIZE_BLOCKS;
vertices[vertexOffset++] = z;
vertices[vertexOffset++] = textureRegionArea.getU2();
vertices[vertexOffset++] = textureRegionArea.getV2();
vertices[vertexOffset++] = BlockLight.FULL_LIGHT;
return vertexOffset;
}
示例4: generate
@Override
public void generate(Area area) {
Expression[] expressions = expressionThreadLocal.get();
for (int x = 0; x < Area.SIZE_BLOCKS; x++) {
for (int z = 0; z < Area.SIZE_BLOCKS; z++) {
int minHeight = 0;
for (Expression e : expressions) {
int y = height(e, x + area.minBlockX, z + area.minBlockZ);
for (int i = y; i >= minHeight; i--) {
block(area, x, i, z);
}
if (y > minHeight) minHeight = y + 1;
}
}
}
}
示例5: checkDirt
private void checkDirt(World world, Area area, int x, int y, int z) {
if (x < 0 || x >= Area.SIZE_BLOCKS || z < 0 || z >= Area.SIZE_BLOCKS) {
Area a = area.neighbourBlockCoordinates(x + area.minBlockX, z + area.minBlockZ);
if (a == null) return;
if (Lock.tryToLock(true, a)) {
int bX = (x + area.minBlockX) - a.minBlockX;
int bZ = (z + area.minBlockZ) - a.minBlockZ;
if (a.getBlock(bX, y, bZ) == Blocks.dirt && validGrass(world, a, bX, y, bZ, false)) {
a.setBlock(Blocks.grass, bX, y, bZ, 0);
}
a.lock.writeUnlock();
}
} else {
if (area.getBlock(x, y, z) == Blocks.dirt && validGrass(world, area, x, y, z, false)) {
area.setBlock(Blocks.grass, x, y, z, 0);
}
}
}
示例6: generate
@Override
public void generate(Area area) {
area.lock.writeLock();
for (int x = 0; x < Area.SIZE_BLOCKS; x++) {
for (int z = 0; z < Area.SIZE_BLOCKS; z++) {
int g = getSurfaceHeight(x + area.minBlockX, z + area.minBlockZ);
int d = getDirtHeight(x + area.minBlockX, z + area.minBlockZ);
if ((x == 0 && z == 0) || g > area.maxY) area.setupArrays(g);
area.blocks[Area.getRef(x, 0, z)] = Blocks.bedrock.intID;
for (int y = 1; y < g; y++) {
if (y < (g - d))
area.blocks[Area.getRef(x, y, z)] = Blocks.stone.intID;
else
area.blocks[Area.getRef(x, y, z)] = Blocks.dirt.intID;
}
area.blocks[Area.getRef(x, g, z)] = Blocks.grass.intID;
}
}
caves.apply(area);
area.lock.writeUnlock();
}
示例7: createVerticesArea
private static int createVerticesArea(float[] vertices, int vertexOffset, float x, float z) {
vertices[vertexOffset++] = x;
vertices[vertexOffset++] = 0;
vertices[vertexOffset++] = z;
vertices[vertexOffset++] = textureRegionArea.getU();
vertices[vertexOffset++] = textureRegionArea.getV();
vertices[vertexOffset++] = BlockLight.FULL_LIGHT;
vertices[vertexOffset++] = x;
vertices[vertexOffset++] = Area.SIZE_BLOCKS;
vertices[vertexOffset++] = z;
vertices[vertexOffset++] = textureRegionArea.getU2();
vertices[vertexOffset++] = textureRegionArea.getV2();
vertices[vertexOffset++] = BlockLight.FULL_LIGHT;
return vertexOffset;
}
示例8: generate
@Override
public void generate(Area area) {
if (area.areaX != 0 || area.areaZ != 0) return;
for (int x = 0; x < Area.SIZE_BLOCKS; x++) {
for (int y = 0; y < Area.SIZE_BLOCKS; y++) {
for (int z = 0; z < Area.SIZE_BLOCKS; z++) {
if (y % 2 == 0) {
if (x % 2 == 0) {
if (z % 2 == 0) set(area, Blocks.grass, x, y, z, 0);
} else {
if (z % 2 == 1) set(area, Blocks.grass, x, y, z, 0);
}
} else {
if (x % 2 == 1) {
if (z % 2 == 0) set(area, Blocks.grass, x, y, z, 0);
} else {
if (z % 2 == 1) set(area, Blocks.grass, x, y, z, 0);
}
}
}
}
}
}
示例9: setBlock
protected void setBlock(Area area, Block block, int x, int y, int z, int meta) {
if (area.minBlockX > x || area.minBlockX + Area.SIZE_BLOCKS <= x || area.minBlockZ > z
|| area.minBlockZ + Area.SIZE_BLOCKS <= z) {
area = area.neighbourBlockCoordinates(x, z);
}
area.setBlock(block, x - area.minBlockX, y, z - area.minBlockZ, meta);
}
示例10: getSpawnCave
private Cave getSpawnCave() {
synchronized (this) {
if (spawnCave == null) {
int spawnCaveX = smoothWorld.pseudorandomInt(1, 0, Area.SIZE_BLOCKS * 4) - (Area.SIZE_BLOCKS * 2);
int spawnCaveZ = smoothWorld.pseudorandomInt(0, 1, Area.SIZE_BLOCKS * 4) - (Area.SIZE_BLOCKS * 2);
CaveGenerator caveGenerator = new CaveGenerator(spawnCaveX, spawnCaveZ, smoothWorld);
this.spawnCave = caveGenerator.generate();
}
return spawnCave;
}
}
示例11: begin
@Override
public void begin(ShaderProgram program, Camera camera, RenderContext context) {
WorldClient worldClient = ((WorldClient) Cubes.getClient().world);
float distance = Settings.getIntegerSettingValue(Settings.GRAPHICS_VIEW_DISTANCE) * Area.SIZE_BLOCKS;
float fogDistance = MathUtils.clamp(distance * 0.1f, 8f, 16f);
program.setUniformf(u_cameraposition, Cubes.getClient().player.position);
program.setUniformf(u_skycolor, worldClient.getSkyColour());
program.setUniformf(u_fogdistance, fogDistance);
program.setUniformf(u_minfogdistance, distance - fogDistance);
}
示例12: randomTickMeta
private int randomTickMeta(int x, int z, Area a, Area area, int meta) {
if (x < 0 || x >= Area.SIZE_BLOCKS || z < 0 || z >= Area.SIZE_BLOCKS) {
a = area.neighbourBlockCoordinates(x + area.minBlockX, z + area.minBlockZ);
if (a == null) {
return meta;
// otherwise leaves may decay if area containing log is
// not loaded
}
x = x + area.minBlockX - a.minBlockX;
z = z + area.minBlockZ - a.minBlockZ;
}
return meta;
}
示例13: begin
@Override
public void begin(ShaderProgram program, Camera camera, RenderContext context) {
WorldClient worldClient = ((WorldClient) Cubes.getClient().world);
float distance = Settings.getIntegerSettingValue(Settings.GRAPHICS_VIEW_DISTANCE) * Area.SIZE_BLOCKS;
float fogDistance = MathUtils.clamp(distance * 0.1f, 8f, 16f);
program.setUniformf(u_cameraposition, Cubes.getClient().player.position);
program.setUniformf(u_skycolor, worldClient.getSkyColour());
program.setUniformf(u_fogdistance, fogDistance);
program.setUniformf(u_minfogdistance, distance - fogDistance);
}
示例14: getSpawnCave
private Cave getSpawnCave() {
synchronized (this) {
if (spawnCave == null) {
int spawnCaveX = smoothWorld.pseudorandomInt(1, 0, Area.SIZE_BLOCKS * 4) - (Area.SIZE_BLOCKS * 2);
int spawnCaveZ = smoothWorld.pseudorandomInt(0, 1, Area.SIZE_BLOCKS * 4) - (Area.SIZE_BLOCKS * 2);
CaveGenerator caveGenerator = new CaveGenerator(spawnCaveX, spawnCaveZ, smoothWorld);
this.spawnCave = caveGenerator.generate();
}
return spawnCave;
}
}
示例15: LightWorldSection
public LightWorldSection(Area initial) {
initialAreaX = initial.areaX;
initialAreaZ = initial.areaZ;
initialMinBlockX = initial.minBlockX;
initialMinBlockZ = initial.minBlockZ;
initialMaxBlockX = initial.minBlockX + Area.SIZE_BLOCKS;
initialMaxBlockZ = initial.minBlockZ + Area.SIZE_BLOCKS;
this.initial = initial;
areas[0][0] = initial.neighbour(initialAreaX - 1, initialAreaZ - 1);
areas[0][1] = initial.neighbour(initialAreaX - 1, initialAreaZ);
areas[0][2] = initial.neighbour(initialAreaX - 1, initialAreaZ + 1);
areas[1][0] = initial.neighbour(initialAreaX, initialAreaZ - 1);
areas[1][1] = initial;
areas[1][2] = initial.neighbour(initialAreaX, initialAreaZ + 1);
areas[2][0] = initial.neighbour(initialAreaX + 1, initialAreaZ - 1);
areas[2][1] = initial.neighbour(initialAreaX + 1, initialAreaZ);
areas[2][2] = initial.neighbour(initialAreaX + 1, initialAreaZ + 1);
for (Area[] areaArr : areas) {
for (Area area : areaArr) {
if (area == null) throw new AreaNotLoadedException();
}
}
Lock.waitToLockAll(true, areas[0][0], areas[0][1], areas[0][2], areas[1][0], areas[1][1], areas[1][2], areas[2][0], areas[2][1], areas[2][2]);
}