本文整理汇总了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;
}
示例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;
}
示例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;
}
}
}
示例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));
}
}
}
}
示例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;
}
}
示例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;
}
}
示例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;
}
}
示例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;
}
}