当前位置: 首页>>代码示例>>Java>>正文


Java Area.SIZE_BLOCKS属性代码示例

本文整理汇总了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();
}
 
开发者ID:RedTroop,项目名称:Cubes_2,代码行数:25,代码来源:SmoothWorld.java

示例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);
	}
}
 
开发者ID:RedTroop,项目名称:Cubes_2,代码行数:18,代码来源:BasicTerrainGenerator.java

示例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;
}
 
开发者ID:RedTroop,项目名称:Cubes_2,代码行数:16,代码来源:AreaBoundaries.java

示例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;
      }
    }
  }
}
 
开发者ID:ictrobot,项目名称:CubesEquationTerrainGenerator,代码行数:16,代码来源:EquationTerrainGenerator.java

示例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);
    }
  }
}
 
开发者ID:RedTroop,项目名称:Cubes,代码行数:18,代码来源:BlockGrass.java

示例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();
}
 
开发者ID:RedTroop,项目名称:Cubes,代码行数:24,代码来源:SmoothWorld.java

示例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;
}
 
开发者ID:RedTroop,项目名称:Cubes,代码行数:16,代码来源:AreaBoundaries.java

示例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);
          }
        }
      }
    }
  }
}
 
开发者ID:RedTroop,项目名称:Cubes,代码行数:24,代码来源:TestTerrainGenerator.java

示例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);
}
 
开发者ID:RedTroop,项目名称:Cubes_2,代码行数:7,代码来源:TreeGenerator.java

示例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;
	}
}
 
开发者ID:RedTroop,项目名称:Cubes_2,代码行数:11,代码来源:CaveManager.java

示例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);
}
 
开发者ID:RedTroop,项目名称:Cubes_2,代码行数:11,代码来源:WorldShaderProvider.java

示例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;
}
 
开发者ID:RedTroop,项目名称:Cubes_2,代码行数:13,代码来源:BlockLeaves.java

示例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);
}
 
开发者ID:RedTroop,项目名称:Cubes,代码行数:11,代码来源:WorldShaderProvider.java

示例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;
  }
}
 
开发者ID:RedTroop,项目名称:Cubes,代码行数:11,代码来源:CaveManager.java

示例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]);
}
 
开发者ID:RedTroop,项目名称:Cubes,代码行数:27,代码来源:LightWorldSection.java


注:本文中的ethanjones.cubes.world.storage.Area.SIZE_BLOCKS属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。