當前位置: 首頁>>代碼示例>>Java>>正文


Java Blocks.NETHERRACK屬性代碼示例

本文整理匯總了Java中net.minecraft.init.Blocks.NETHERRACK屬性的典型用法代碼示例。如果您正苦於以下問題:Java Blocks.NETHERRACK屬性的具體用法?Java Blocks.NETHERRACK怎麽用?Java Blocks.NETHERRACK使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在net.minecraft.init.Blocks的用法示例。


在下文中一共展示了Blocks.NETHERRACK屬性的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: generate

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.NETHERRACK)
        {
            worldIn.setBlockState(blockpos, Blocks.FIRE.getDefaultState(), 2);
        }
    }

    return true;
}
 
開發者ID:sudofox,項目名稱:Backmemed,代碼行數:14,代碼來源:WorldGenFire.java

示例2: canSustainBush

public boolean canSustainBush(IBlockState state) {
	return state.getBlock() == Blocks.GRASS || state.getBlock() == Blocks.DIRT || state.getBlock() == Blocks.STONE || state.getBlock() == Blocks.FARMLAND || state.getBlock() == ModBlocks.coquina || state.getBlock() == Blocks.SAND || state.getBlock() == Blocks.GRAVEL || state.getBlock() == Blocks.COBBLESTONE || state.getBlock() == Blocks.NETHERRACK || state.getBlock() == Blocks.END_STONE || state.getBlock() == this;
}
 
開發者ID:Um-Mitternacht,項目名稱:Bewitchment,代碼行數:3,代碼來源:BlockTorchwood.java

示例3: generateTower

public void generateTower(WorldServer world, BlockPos pos, Random rand) {
	MinecraftServer server = world.getMinecraftServer();
	Template template = world.getStructureTemplateManager().getTemplate(server, TOWER_STRUCTURE);
	PlacementSettings settings = new PlacementSettings();
	settings.setRotation(Rotation.values()[rand.nextInt(Rotation.values().length)]);
	
	BlockPos size = template.getSize();
	int airBlocks = 0;
	for(int x = 0; x < size.getX(); x++) {
		for (int z = 0; z < size.getZ(); z++) {
			if (world.isAirBlock(pos.add(template.transformedBlockPos(settings, new BlockPos(x, 0, z))))) {
				airBlocks++;
				if (airBlocks > 0.33 * (size.getX() * size.getZ())) {
					return;
				}
			}
		}
	}
	for (int x = 0; x < size.getX(); x++) {
		for (int z = 0; z < size.getZ(); z++) {
			if (x == 0 || x == size.getX() - 1 || z == 0 || z == size.getZ() - 1) {
				for (int y = 0; y < size.getY(); y++) {
					BlockPos checkPos = pos.add(template.transformedBlockPos(settings, new BlockPos(x, y, z)));
					IBlockState checkState = world.getBlockState(checkPos);
					if (!checkState.getBlock().isAir(checkState, world, checkPos)) {
						if (!(y <= 3 && (checkState.getBlock() == Blocks.NETHERRACK || checkState.getBlock() == Blocks.QUARTZ_ORE || checkState.getBlock() == Blocks.MAGMA))) {
							return;
						}
					}
				}
			}
		}
	}

	template.addBlocksToWorld(world, pos, settings);

	Map<BlockPos, String> dataBlocks = template.getDataBlocks(pos, settings);
	for (Entry<BlockPos, String> entry : dataBlocks.entrySet()) {
		String[] tokens = entry.getValue().split(" ");
		if (tokens.length == 0)
			return;

		BlockPos dataPos = entry.getKey();
		EntityPigMage pigMage;

		switch (tokens[0]) {
		case "pigman_mage":
			pigMage = new EntityPigMage(world);
			pigMage.setPosition(dataPos.getX() + 0.5, dataPos.getY(), dataPos.getZ() + 0.5);
			pigMage.onInitialSpawn(world.getDifficultyForLocation(dataPos), null);
			world.spawnEntity(pigMage);
			break;
		case "fortress_chest":
			IBlockState chestState = Blocks.CHEST.getDefaultState().withRotation(settings.getRotation());
			chestState = chestState.withMirror(Mirror.FRONT_BACK);
			world.setBlockState(dataPos, chestState);
			TileEntity tile = world.getTileEntity(dataPos);
			if (tile != null && tile instanceof TileEntityLockableLoot)
				((TileEntityLockableLoot) tile).setLootTable(NETHER_BRIDGE_LOOT_TABLE, rand.nextLong());
			break;
		}
	}

}
 
開發者ID:the-realest-stu,項目名稱:Infernum,代碼行數:64,代碼來源:PigmanMageTowerGenerator.java

示例4: generateMonument

public void generateMonument(WorldServer world, BlockPos pos, Random rand) {
	MinecraftServer server = world.getMinecraftServer();
	Template template = world.getStructureTemplateManager().getTemplate(server, MONUMENT_STRUCTURE);
	PlacementSettings settings = new PlacementSettings();
	settings.setRotation(Rotation.values()[rand.nextInt(Rotation.values().length)]);
	
	BlockPos size = template.getSize();
	int airBlocks = 0;
	for(int x = 0; x < size.getX(); x++) {
		for (int z = 0; z < size.getZ(); z++) {
			if (world.isAirBlock(pos.add(template.transformedBlockPos(settings, new BlockPos(x, -1, z))))) {
				airBlocks++;
				if (airBlocks > 0.33 * (size.getX() * size.getZ())) {
					return;
				}
			}
		}
	}
	for (int x = 0; x < size.getX(); x++) {
		for (int z = 0; z < size.getZ(); z++) {
			if (x == 0 || x == size.getX() - 1 || z == 0 || z == size.getZ() - 1) {
				for (int y = 0; y < size.getY(); y++) {
					BlockPos checkPos = pos.add(template.transformedBlockPos(settings, new BlockPos(x, y, z)));
					IBlockState checkState = world.getBlockState(checkPos);
					if (!checkState.getBlock().isAir(checkState, world, checkPos)) {
						if (!(y <= 0 && (checkState.getBlock() == Blocks.NETHERRACK || checkState.getBlock() == Blocks.QUARTZ_ORE || checkState.getBlock() == Blocks.MAGMA))) {
							return;
						}
					}
				}
			}
		}
	}

	template.addBlocksToWorld(world, pos, settings);

	Map<BlockPos, String> dataBlocks = template.getDataBlocks(pos, settings);
	for (Entry<BlockPos, String> entry : dataBlocks.entrySet()) {
		String[] tokens = entry.getValue().split(" ");
		if (tokens.length == 0)
			return;

		BlockPos dataPos = entry.getKey();

		if (tokens[0].equals("pedestal")) {
			IBlockState chestState = InfernumBlocks.PEDESTAL.getDefaultState();
			world.setBlockState(dataPos, chestState);
			TileEntity tile = world.getTileEntity(dataPos);
			if (tile instanceof TilePedestal) {
				((TilePedestal) tile).setStack(new ItemStack(InfernumItems.KNOWLEDGE_BOOK));
			}
		}

	}

}
 
開發者ID:the-realest-stu,項目名稱:Infernum,代碼行數:56,代碼來源:InfernalMonumentGenerator.java

示例5: generate

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).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:sudofox,項目名稱:Backmemed,代碼行數:45,代碼來源:WorldGenGlowStone1.java

示例6: generate

public boolean generate(World worldIn, Random rand, BlockPos position)
{
    if (worldIn.getBlockState(position.up()).getBlock() != Blocks.NETHERRACK)
    {
        return false;
    }
    else if (worldIn.getBlockState(position).getMaterial() != Material.AIR && worldIn.getBlockState(position).getBlock() != Blocks.NETHERRACK)
    {
        return false;
    }
    else
    {
        int i = 0;

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

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

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

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

        if (worldIn.getBlockState(position.down()).getBlock() == Blocks.NETHERRACK)
        {
            ++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 (worldIn.isAirBlock(position.down()))
        {
            ++j;
        }

        if (!this.insideRock && i == 4 && j == 1 || i == 5)
        {
            IBlockState iblockstate = this.block.getDefaultState();
            worldIn.setBlockState(position, iblockstate, 2);
            worldIn.immediateBlockTick(position, iblockstate, rand);
        }

        return true;
    }
}
 
開發者ID:sudofox,項目名稱:Backmemed,代碼行數:76,代碼來源:WorldGenHellLava.java

示例7: generate

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.isAirBlock(blockpos))
            {
                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:F1r3w477,項目名稱:CustomWorldGen,代碼行數:45,代碼來源:WorldGenGlowStone1.java

示例8: generate

public boolean generate(World worldIn, Random rand, BlockPos position)
{
    if (worldIn.getBlockState(position.up()).getBlock() != Blocks.NETHERRACK)
    {
        return false;
    }
    else if (!worldIn.isAirBlock(position) && worldIn.getBlockState(position).getBlock() != Blocks.NETHERRACK)
    {
        return false;
    }
    else
    {
        int i = 0;

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

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

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

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

        if (worldIn.getBlockState(position.down()).getBlock() == Blocks.NETHERRACK)
        {
            ++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 (worldIn.isAirBlock(position.down()))
        {
            ++j;
        }

        if (!this.insideRock && i == 4 && j == 1 || i == 5)
        {
            IBlockState iblockstate = this.block.getDefaultState();
            worldIn.setBlockState(position, iblockstate, 2);
            worldIn.immediateBlockTick(position, iblockstate, rand);
        }

        return true;
    }
}
 
開發者ID:F1r3w477,項目名稱:CustomWorldGen,代碼行數:76,代碼來源:WorldGenHellLava.java


注:本文中的net.minecraft.init.Blocks.NETHERRACK屬性示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。