/* * Test the blocks directly in contact, and if they are ascending rails, add * them to the updatePrevention list. */ private void checkForAscendingRails() { BlockFace[] cardinals = { BlockFace.EAST, BlockFace.WEST, BlockFace.NORTH, BlockFace.SOUTH, BlockFace.UP }; Block block = blockState.getBlock(); for (BlockFace face : cardinals) { Block tmp_block = block.getRelative(face); if (tmp_block.getState() instanceof Rails) { byte data = tmp_block.getData(); if (data > 1 && data < 6) { BlockFace facing = null; if (data == 2) facing = BlockFace.EAST; else if (data == 3) facing = BlockFace.WEST; else if (data == 4) facing = BlockFace.NORTH; else if (data == 5) facing = BlockFace.SOUTH; if (tmp_block.getRelative(facing).getType() == Material.AIR) BlockManager.putUpdatePrevention(CreeperBlock.newBlock(tmp_block.getState())); } } } }