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

The following are Jave code examples for showing how to use isBlockinHighHumidity() 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: Got-Wood   File: BlockSpecialFire.java   Source Code and License Vote up 4 votes
public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand) {
	if (worldIn.getGameRules().getBoolean("doFireTick")) {
		if (!this.canPlaceBlockAt(worldIn, pos)) {
			worldIn.setBlockToAir(pos);
		}
		Block block = worldIn.getBlockState(pos.down()).getBlock();
		boolean flag = block.isFireSource(worldIn, pos.down(), EnumFacing.UP);
		int i = state.getValue(AGE);
		if (!flag && worldIn.isRaining() && this.canDie(worldIn, pos) && rand.nextFloat() < 0.2F + (float) i * 0.03F) {
			worldIn.setBlockToAir(pos);
		} else {
			if (i < 15) {
				state = state.withProperty(AGE, i + rand.nextInt(3) / 2);
				worldIn.setBlockState(pos, state, 4);
			}
			worldIn.scheduleUpdate(pos, this, this.tickRate(worldIn) + rand.nextInt(10));
			if (!flag) {
				if (!this.canNeighborCatchFire(worldIn, pos)) {
					if (!worldIn.getBlockState(pos.down()).isSideSolid(worldIn, pos.down(), EnumFacing.UP) || i > 3) {
						worldIn.setBlockToAir(pos);
					}
					return;
				}
				if (!this.canCatchFire(worldIn, pos.down(), EnumFacing.UP) && i == 15 && rand.nextInt(4) == 0) {
					worldIn.setBlockToAir(pos);
					return;
				}
			}
			boolean flag1 = worldIn.isBlockinHighHumidity(pos);
			int j = 0;
			if (flag1) {
				j = -50;
			}
			this.tryCatchFire(worldIn, pos.east(), 300 + j, rand, i, EnumFacing.WEST);
			this.tryCatchFire(worldIn, pos.west(), 300 + j, rand, i, EnumFacing.EAST);
			this.tryCatchFire(worldIn, pos.down(), 250 + j, rand, i, EnumFacing.UP);
			this.tryCatchFire(worldIn, pos.up(), 250 + j, rand, i, EnumFacing.DOWN);
			this.tryCatchFire(worldIn, pos.north(), 300 + j, rand, i, EnumFacing.SOUTH);
			this.tryCatchFire(worldIn, pos.south(), 300 + j, rand, i, EnumFacing.NORTH);
			for (int k = -1; k <= 1; ++k) {
				for (int l = -1; l <= 1; ++l) {
					for (int i1 = -1; i1 <= 4; ++i1) {
						if (k != 0 || i1 != 0 || l != 0) {
							int j1 = 100;
							if (i1 > 1) {
								j1 += (i1 - 1) * 100;
							}
							BlockPos blockpos = pos.add(k, i1, l);
							int k1 = this.getNeighborEncouragement(worldIn, blockpos);
							if (k1 > 0) {
								int l1 = (k1 + 40 + worldIn.getDifficulty().getDifficultyId() * 7) / (i + 30);
								if (flag1) {
									l1 /= 2;
								}
								if (l1 > 0 && rand.nextInt(j1) <= l1 && (!worldIn.isRaining() || !this.canDie(worldIn, blockpos))) {
									int i2 = i + rand.nextInt(5) / 4;
									if (i2 > 15) {
										i2 = 15;
									}
									worldIn.setBlockState(blockpos, state.withProperty(AGE, i2), 3);
								}
							}
						}
					}
				}
			}
		}
	}
}