Java Code Examples for net.minecraft.world.World.canSeeSky()

The following are Jave code examples for showing how to use canSeeSky() of the net.minecraft.world.World class. You can vote up the examples you like. Your votes will be used in our system to get more good examples.
Example 1
Project: Solar   File: AshenCubeStructure.java   Source Code and License Vote up 6 votes
@Override
void gen(World world, int x, int z, IChunkGenerator generator, IChunkProvider provider) {
	random.setSeed(world.getSeed());
	long good = random.nextLong();
	long succ = random.nextLong();

	good *= x >> 1;
	succ *= z >> 1;
	random.setSeed(good ^ succ ^ world.getSeed());
	//Generate
	if(GEN_CONFIG.ASHEN_CUBE_STRUCTURE.rarity > 0D && GEN_CONFIG.ASHEN_CUBE_STRUCTURE.rarity / 100D > random.nextDouble()) {
		BlockPos center = new BlockPos(x, 15 + random.nextInt(25), z);
		if(!world.canSeeSky(center) || !GEN_CONFIG.ASHEN_CUBE_STRUCTURE.underground) {
			genCubes(world, center);
		}
	}
}
 
Example 2
Project: Solar   File: AshenCubeStructure.java   Source Code and License Vote up 5 votes
private void genCubes(World world, BlockPos pos) {
	//Gen Cube
	BlockPos origin = pos.add(5, 0, 5);
	Template template = Structure.ASHEN_CUBE.load(world);
	boolean loot = GEN_CONFIG.ASHEN_CUBE_STRUCTURE.loot / 100D > random.nextDouble();
	PlacementSettings integrity = new PlacementSettings();
	integrity.setIntegrity(loot ? 1F : 0.35F + 0.45F * random.nextFloat());
	template.addBlocksToWorld(world, origin, integrity);
	integrity.setIntegrity(!loot && random.nextFloat() > 0.45F ? 1F : random.nextFloat());
	Structure.ASHEN_CUBE_.generate(world, origin, integrity);
	//Add loot
	for (int i = 0; i < 6 + random.nextInt(6); i++) {
		loot = GEN_CONFIG.MONOLITH_CONFIG.MONOLITH_STRUCTURE.loot / 100D > random.nextDouble();
		if (loot) {
			BlockPos inside = origin.add(1 + random.nextInt(4), 1, 1 + random.nextInt(4));
			IBlockState pot = ModBlocks.LARGE_POT.getDefaultState().withProperty(State.POT_VARIANT, random.nextInt(3));
			world.setBlockState(inside, pot);
		}
	}
	//Gen Cubes
	AxisAlignedBB cubeBB = new AxisAlignedBB(origin, origin.add(template.getSize()));
	for(int i = 0; i < GEN_CONFIG.ASHEN_CUBE_STRUCTURE.size; i++) {
		Template cube = nuggets.next().load(world);
		Rotation rotation = Rotation.values()[random.nextInt(4)];
		Vector3 vec = Vector3.create(cube.getSize()).rotate(rotation);
		BlockPos offset = randomVector().add(pos).toBlockPos();
		if(offset.getY() < 1  || (world.canSeeSky(offset) && GEN_CONFIG.ASHEN_CUBE_STRUCTURE.underground)) continue;
		AxisAlignedBB nuggetBB = new AxisAlignedBB(offset, vec.add(offset).toBlockPos());
		if(!nuggetBB.intersects(cubeBB)) {
			PlacementSettings settings = new PlacementSettings();
			settings.setIntegrity(random.nextFloat() > 0.85F ? 0.9F : 0.35F + 0.45F * random.nextFloat());
			settings.setRotation(rotation);
			settings.setRandom(random);
			cube.addBlocksToWorld(world, offset, settings);
		}
	}
}
 
Example 3
Project: DecompiledMinecraft   File: BlockCrops.java   Source Code and License Vote up 4 votes
public boolean canBlockStay(World worldIn, BlockPos pos, IBlockState state)
{
    return (worldIn.getLight(pos) >= 8 || worldIn.canSeeSky(pos)) && this.canPlaceBlockOn(worldIn.getBlockState(pos.down()).getBlock());
}
 
Example 4
Project: DecompiledMinecraft   File: BlockCrops.java   Source Code and License Vote up 4 votes
public boolean canBlockStay(World worldIn, BlockPos pos, IBlockState state)
{
    return (worldIn.getLight(pos) >= 8 || worldIn.canSeeSky(pos)) && this.canPlaceBlockOn(worldIn.getBlockState(pos.down()).getBlock());
}
 
Example 5
Project: BaseClient   File: BlockCrops.java   Source Code and License Vote up 4 votes
public boolean canBlockStay(World worldIn, BlockPos pos, IBlockState state)
{
    return (worldIn.getLight(pos) >= 8 || worldIn.canSeeSky(pos)) && this.canPlaceBlockOn(worldIn.getBlockState(pos.down()).getBlock());
}
 
Example 6
Project: BaseClient   File: BlockCrops.java   Source Code and License Vote up 4 votes
public boolean canBlockStay(World worldIn, BlockPos pos, IBlockState state)
{
    return (worldIn.getLight(pos) >= 8 || worldIn.canSeeSky(pos)) && this.canPlaceBlockOn(worldIn.getBlockState(pos.down()).getBlock());
}
 
Example 7
Project: Backmemed   File: BlockCrops.java   Source Code and License Vote up 4 votes
public boolean canBlockStay(World worldIn, BlockPos pos, IBlockState state)
{
    return (worldIn.getLight(pos) >= 8 || worldIn.canSeeSky(pos)) && this.canSustainBush(worldIn.getBlockState(pos.down()));
}
 
Example 8
Project: CustomWorldGen   File: BlockCrops.java   Source Code and License Vote up 4 votes
public boolean canBlockStay(World worldIn, BlockPos pos, IBlockState state)
{
    IBlockState soil = worldIn.getBlockState(pos.down());
    return (worldIn.getLight(pos) >= 8 || worldIn.canSeeSky(pos)) && soil.getBlock().canSustainPlant(soil, worldIn, pos.down(), net.minecraft.util.EnumFacing.UP, this);
}
 
Example 9
Project: FoodCraft-Reloaded   File: BlockQuery.java   Source Code and License Vote up 4 votes
@Override
public boolean matches(World world, BlockPos pos) {
    return world.getLight(pos.up()) >= this.level || world.canSeeSky(pos.up());
}
 
Example 10
Project: rtap   File: cropPeppers.java   Source Code and License Vote up 2 votes
public boolean canBlockStay(World worldIn, BlockPos pos, IBlockState state) {

      IBlockState soil = worldIn.getBlockState(pos.down());
      return (worldIn.getLight(pos) >= 8 || worldIn.canSeeSky(pos)) && soil.getBlock().canSustainPlant(soil, worldIn, pos.down(), net.minecraft.util.EnumFacing.UP, this);
      
  }