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


Java World.isAirBlock方法代码示例

本文整理汇总了Java中net.minecraft.world.World.isAirBlock方法的典型用法代码示例。如果您正苦于以下问题:Java World.isAirBlock方法的具体用法?Java World.isAirBlock怎么用?Java World.isAirBlock使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在net.minecraft.world.World的用法示例。


在下文中一共展示了World.isAirBlock方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: findPosY

import net.minecraft.world.World; //导入方法依赖的package包/类
private static int findPosY(World world, BlockPos pos) {
	BlockPos checkPos = new BlockPos(pos.getX(), 120, pos.getZ());

	int airBlocks = 0;
	for (int yOffset = 1; yOffset <= 88; yOffset++) {
		if (world.isAirBlock(checkPos.down(yOffset))) {
			airBlocks++;
		} else {
			if (airBlocks > 20) {
				return 120 - yOffset;
			}
			airBlocks = 0;
		}
	}
	return -1;
}
 
开发者ID:the-realest-stu,项目名称:Infernum,代码行数:17,代码来源:PigmanMageTowerGenerator.java

示例2: harvestAndPickup

import net.minecraft.world.World; //导入方法依赖的package包/类
@Override
public boolean harvestAndPickup(BlockPos pos) {
    World world = entity.getEntityWorld();
    if (world.isAirBlock(pos)) {
        return true;
    }
    IBlockState state = world.getBlockState(pos);
    if (!allowedToHarvest(state, world, pos, GeneralTools.getHarvester())) {
        return false;
    }
    Block block = state.getBlock();
    List<ItemStack> drops = block.getDrops(world, pos, state, 0);
    net.minecraftforge.event.ForgeEventFactory.fireBlockHarvesting(drops, world, pos, state, 0, 1.0f, false, GeneralTools.getHarvester());
    SoundTools.playSound(world, block.getSoundType().getBreakSound(), pos.getX(), pos.getY(), pos.getZ(), 1.0f, 1.0f);
    block.onBlockHarvested(world, pos, state, GeneralTools.getHarvester());
    entity.getEntityWorld().setBlockToAir(pos);
    giveDropsToMeeCreeps(drops);
    return true;
}
 
开发者ID:McJty,项目名称:MeeCreeps,代码行数:20,代码来源:WorkerHelper.java

示例3: trySpread

import net.minecraft.world.World; //导入方法依赖的package包/类
private void trySpread(World world, BlockPos pos) {
	
	for (EnumFacing face : EnumFacing.HORIZONTALS) {
		BlockPos looppos = pos.offset(face);
		if (world.getLightFor(EnumSkyBlock.BLOCK, looppos) > 5) continue;
		if (world.isAirBlock(looppos) && (world.getBlockState(looppos.down()).getBlock() == Blocks.DIRT || world.getBlockState(looppos.down()).getBlock() == Blocks.FARMLAND)) {
			if (world.rand.nextInt(2) == 0) {
				if (world.getBlockState(looppos.down()).getBlock() == Blocks.DIRT)
					world.setBlockState(looppos.down(), Blocks.FARMLAND.getDefaultState(), 3);
				else
					world.setBlockState(looppos, UCBlocks.cropDevilsnare.getDefaultState(), 3);
				break;
			}
		}
	}
}
 
开发者ID:bafomdad,项目名称:uniquecrops,代码行数:17,代码来源:DevilSnare.java

示例4: generate

import net.minecraft.world.World; //导入方法依赖的package包/类
public boolean generate(World worldIn, Random rand, BlockPos position)
{
    for (int i = 0; i < 10; ++i)
    {
        BlockPos blockpos = position.add(rand.nextInt(8) - rand.nextInt(8), rand.nextInt(4) - rand.nextInt(4), rand.nextInt(8) - rand.nextInt(8));

        if (worldIn.isAirBlock(blockpos))
        {
            int j = 1 + rand.nextInt(rand.nextInt(3) + 1);

            for (int k = 0; k < j; ++k)
            {
                if (Blocks.CACTUS.canBlockStay(worldIn, blockpos))
                {
                    worldIn.setBlockState(blockpos.up(k), Blocks.CACTUS.getDefaultState(), 2);
                }
            }
        }
    }

    return true;
}
 
开发者ID:sudofox,项目名称:Backmemed,代码行数:23,代码来源:WorldGenCactus.java

示例5: generate

import net.minecraft.world.World; //导入方法依赖的package包/类
public boolean generate(World worldIn, Random rand, BlockPos position)
{
    Block block;

    while (((block = worldIn.getBlockState(position).getBlock()).getMaterial() == Material.air || block.getMaterial() == Material.leaves) && position.getY() > 0)
    {
        position = position.down();
    }

    for (int i = 0; i < 4; ++i)
    {
        BlockPos blockpos = position.add(rand.nextInt(8) - rand.nextInt(8), rand.nextInt(4) - rand.nextInt(4), rand.nextInt(8) - rand.nextInt(8));

        if (worldIn.isAirBlock(blockpos) && Blocks.deadbush.canBlockStay(worldIn, blockpos, Blocks.deadbush.getDefaultState()))
        {
            worldIn.setBlockState(blockpos, Blocks.deadbush.getDefaultState(), 2);
        }
    }

    return true;
}
 
开发者ID:Notoh,项目名称:DecompiledMinecraft,代码行数:22,代码来源:WorldGenDeadBush.java

示例6: safeImpact

import net.minecraft.world.World; //导入方法依赖的package包/类
@Override
public void safeImpact(BlockPos pos, @Nullable EnumFacing side, World world, int amplifier) {
	Random rand = world.rand;
	int box = 1 + (int) ((float) amplifier / 2F);

	BlockPos posI = pos.add(box, box, box);
	BlockPos posF = pos.add(-box, -box, -box);

	Iterable<BlockPos> spots = BlockPos.getAllInBox(posI, posF);
	for (BlockPos spot : spots) {
		IBlockState state = world.getBlockState(spot);
		boolean place = amplifier > 2 || world.rand.nextInt(3) == 0;
		if (place && state.getBlock() == Blocks.GRASS && world.isAirBlock(spot.up())) {
			world.getBiome(pos).plantFlower(world, rand, spot.up());
		}
	}
}
 
开发者ID:Um-Mitternacht,项目名称:Bewitchment,代码行数:18,代码来源:GrowFlowersBrew.java

示例7: generate

import net.minecraft.world.World; //导入方法依赖的package包/类
public boolean generate(World worldIn, Random rand, BlockPos position)
{
    for (IBlockState iblockstate = worldIn.getBlockState(position); (iblockstate.getMaterial() == Material.AIR || iblockstate.getMaterial() == Material.LEAVES) && position.getY() > 0; iblockstate = worldIn.getBlockState(position))
    {
        position = position.down();
    }

    for (int i = 0; i < 4; ++i)
    {
        BlockPos blockpos = position.add(rand.nextInt(8) - rand.nextInt(8), rand.nextInt(4) - rand.nextInt(4), rand.nextInt(8) - rand.nextInt(8));

        if (worldIn.isAirBlock(blockpos) && Blocks.DEADBUSH.canBlockStay(worldIn, blockpos, Blocks.DEADBUSH.getDefaultState()))
        {
            worldIn.setBlockState(blockpos, Blocks.DEADBUSH.getDefaultState(), 2);
        }
    }

    return true;
}
 
开发者ID:sudofox,项目名称:Backmemed,代码行数:20,代码来源:WorldGenDeadBush.java

示例8: generate

import net.minecraft.world.World; //导入方法依赖的package包/类
public boolean generate(World worldIn, Random rand, BlockPos position)
{
    for (int i = 0; i < 64; ++i)
    {
        BlockPos blockpos = position.add(rand.nextInt(8) - rand.nextInt(8), rand.nextInt(4) - rand.nextInt(4), rand.nextInt(8) - rand.nextInt(8));

        if (worldIn.isAirBlock(blockpos) && worldIn.getBlockState(blockpos.down()).getBlock() == Blocks.GRASS && Blocks.PUMPKIN.canPlaceBlockAt(worldIn, blockpos))
        {
            worldIn.setBlockState(blockpos, Blocks.PUMPKIN.getDefaultState().withProperty(BlockPumpkin.FACING, EnumFacing.Plane.HORIZONTAL.random(rand)), 2);
        }
    }

    return true;
}
 
开发者ID:sudofox,项目名称:Backmemed,代码行数:15,代码来源:WorldGenPumpkin.java

示例9: clearCurrentPositionBlocksUpwards

import net.minecraft.world.World; //导入方法依赖的package包/类
/**
 * Deletes all continuous blocks from selected position upwards. Stops at hitting air.
 */
protected void clearCurrentPositionBlocksUpwards(World worldIn, int x, int y, int z, StructureBoundingBox structurebb)
{
    BlockPos blockpos = new BlockPos(this.getXWithOffset(x, z), this.getYWithOffset(y), this.getZWithOffset(x, z));

    if (structurebb.isVecInside(blockpos))
    {
        while (!worldIn.isAirBlock(blockpos) && blockpos.getY() < 255)
        {
            worldIn.setBlockState(blockpos, Blocks.air.getDefaultState(), 2);
            blockpos = blockpos.up();
        }
    }
}
 
开发者ID:Notoh,项目名称:DecompiledMinecraft,代码行数:17,代码来源:StructureComponent.java

示例10: doPlacementChecks

import net.minecraft.world.World; //导入方法依赖的package包/类
public void doPlacementChecks(IBlockAccess world, BlockPos pos)
{
	if (world instanceof World)
	{
		World w = (World) world;
		if (!Helpers.canPlantGrow(pos.up(), w))
		{
			this.breakReplaceSelf(w, pos);
			return;
		}
		
		if (w.isAirBlock(pos.down()) || !w.getBlockState(pos.down()).isSideSolid(w, pos.down(), EnumFacing.UP))
		{
			this.breakReplaceSelf(w, pos);
			return;
		}
		
		if (w.getBlockState(pos.up()).getMaterial() != Material.WATER)
		{
			this.breakReplaceSelf(w, pos);
			return;
		}
		
		if (w.getBlockState(pos.up()).getBlock() instanceof IWater && ((IWater)w.getBlockState(pos.up()).getBlock()).isSalt(w, pos.up()))
		{
			this.breakReplaceSelf(w, pos);
           }
	}
}
 
开发者ID:V0idWa1k3r,项目名称:ExPetrum,代码行数:30,代码来源:BlockCattail.java

示例11: findTopSpotNotDiggedYet

import net.minecraft.world.World; //导入方法依赖的package包/类
private BlockPos findTopSpotNotDiggedYet() {
    IMeeCreep entity = helper.getMeeCreep();
    BlockPos p = options.getTargetPos();
    World world = entity.getWorld();
    IBlockState state = world.getBlockState(p);
    while (p.getY() > 0 && (world.isAirBlock(p) || state.getBlock() == Blocks.LADDER)) {
        p = p.down();
        state = world.getBlockState(p);
    }
    return p;
}
 
开发者ID:McJty,项目名称:MeeCreeps,代码行数:12,代码来源:DigdownActionWorker.java

示例12: makePortalPair

import net.minecraft.world.World; //导入方法依赖的package包/类
public static void makePortalPair(World sourceWorld, BlockPos selectedBlock, EnumFacing selectedSide, TeleportDestination dest) {
    BlockPos sourcePortalPos = findBestPosition(sourceWorld, selectedBlock, selectedSide);
    if (sourcePortalPos == null) {
        return;
    }

    World destWorld = mcjty.lib.varia.TeleportationTools.getWorldForDimension(dest.getDimension());
    if (destWorld.getBlockState(dest.getPos()).getBlock() == ModBlocks.portalBlock) {
        return;
    }
    if (dest.getSide() == EnumFacing.DOWN) {
        if (!destWorld.isAirBlock(dest.getPos()) || !destWorld.isAirBlock(dest.getPos().down())) {
            return;
        }
    } else {
        if (!destWorld.isAirBlock(dest.getPos()) || !destWorld.isAirBlock(dest.getPos().up())) {
            return;
        }
    }

    sourceWorld.setBlockState(sourcePortalPos, ModBlocks.portalBlock.getDefaultState(), 3);
    PortalTileEntity source = (PortalTileEntity) sourceWorld.getTileEntity(sourcePortalPos);

    destWorld.setBlockState(dest.getPos(), ModBlocks.portalBlock.getDefaultState(), 3);
    PortalTileEntity destination = (PortalTileEntity) destWorld.getTileEntity(dest.getPos());

    source.setTimeout(Config.portalTimeout);
    source.setOther(dest);
    source.setPortalSide(selectedSide);

    destination.setTimeout(Config.portalTimeout);
    destination.setOther(new TeleportDestination("", sourceWorld.provider.getDimension(), sourcePortalPos, selectedSide));
    destination.setPortalSide(dest.getSide());
}
 
开发者ID:McJty,项目名称:MeeCreeps,代码行数:35,代码来源:TeleportationTools.java

示例13: neighborChanged

import net.minecraft.world.World; //导入方法依赖的package包/类
@SuppressWarnings("deprecation")
@Override
public void neighborChanged(IBlockState state, World world, BlockPos pos, Block blockIn, BlockPos fromPos) {
	if (pos.getY() == fromPos.getY() && world.isAirBlock(fromPos) && !checkRecursive(world, pos, 0, new ArrayList<BlockPos>(6)) && blockIn.equals(ModBlocks.witch_altar)) {
		dismantleRecursive(world, pos);
	}
	;
}
 
开发者ID:Um-Mitternacht,项目名称:Bewitchment,代码行数:9,代码来源:BlockWitchAltar.java

示例14: generate

import net.minecraft.world.World; //导入方法依赖的package包/类
public boolean generate(World worldIn, Random rand, BlockPos position)
{
    if (!worldIn.isAirBlock(position))
    {
        return false;
    }
    else if (worldIn.getBlockState(position.up()).getBlock() != Blocks.netherrack)
    {
        return false;
    }
    else
    {
        worldIn.setBlockState(position, Blocks.glowstone.getDefaultState(), 2);

        for (int i = 0; i < 1500; ++i)
        {
            BlockPos blockpos = position.add(rand.nextInt(8) - rand.nextInt(8), -rand.nextInt(12), rand.nextInt(8) - rand.nextInt(8));

            if (worldIn.getBlockState(blockpos).getBlock().getMaterial() == Material.air)
            {
                int j = 0;

                for (EnumFacing enumfacing : EnumFacing.values())
                {
                    if (worldIn.getBlockState(blockpos.offset(enumfacing)).getBlock() == Blocks.glowstone)
                    {
                        ++j;
                    }

                    if (j > 1)
                    {
                        break;
                    }
                }

                if (j == 1)
                {
                    worldIn.setBlockState(blockpos, Blocks.glowstone.getDefaultState(), 2);
                }
            }
        }

        return true;
    }
}
 
开发者ID:SkidJava,项目名称:BaseClient,代码行数:46,代码来源:WorldGenGlowStone2.java

示例15: generate

import net.minecraft.world.World; //导入方法依赖的package包/类
public boolean generate(World worldIn, Random rand, BlockPos position)
{
    if (worldIn.getBlockState(position.up()).getBlock() != Blocks.STONE)
    {
        return false;
    }
    else if (worldIn.getBlockState(position.down()).getBlock() != Blocks.STONE)
    {
        return false;
    }
    else
    {
        IBlockState iblockstate = worldIn.getBlockState(position);

        if (!iblockstate.getBlock().isAir(iblockstate, worldIn, position) && iblockstate.getBlock() != Blocks.STONE)
        {
            return false;
        }
        else
        {
            int i = 0;

            if (worldIn.getBlockState(position.west()).getBlock() == Blocks.STONE)
            {
                ++i;
            }

            if (worldIn.getBlockState(position.east()).getBlock() == Blocks.STONE)
            {
                ++i;
            }

            if (worldIn.getBlockState(position.north()).getBlock() == Blocks.STONE)
            {
                ++i;
            }

            if (worldIn.getBlockState(position.south()).getBlock() == Blocks.STONE)
            {
                ++i;
            }

            int j = 0;

            if (worldIn.isAirBlock(position.west()))
            {
                ++j;
            }

            if (worldIn.isAirBlock(position.east()))
            {
                ++j;
            }

            if (worldIn.isAirBlock(position.north()))
            {
                ++j;
            }

            if (worldIn.isAirBlock(position.south()))
            {
                ++j;
            }

            if (i == 3 && j == 1)
            {
                IBlockState iblockstate1 = this.block.getDefaultState();
                worldIn.setBlockState(position, iblockstate1, 2);
                worldIn.immediateBlockTick(position, iblockstate1, rand);
            }

            return true;
        }
    }
}
 
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:76,代码来源:WorldGenLiquids.java


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