Plugin for finding placed blocks and if they are in a certain sequence
As it is mentioned in the comments, It seems your code is exactly same as the below. So that is the first suggestion. 

main = block.getType();
up1 = block.getRelative(BlockFace.UP, 1).getType();
up2 = block.getRelative(BlockFace.UP, 2).getType();
down1 = block.getRelative(BlockFace.DOWN, 1).getType();
down2 = block.getRelative(BlockFace.DOWN, 2).getType();


if ((main == Material.JUKEBOX &amp;&amp; up1 == Material.DIAMOND_BLOCK &amp;&amp; up2 == Material.IRON_FENCE)||
   (main == Material.DIAMOND_BLOCK &amp;&amp; up1 == Material.IRON_FENCE &amp;&amp; down1 == Material.JUKEBOX) ||
   (main == Material.IRON_FENCE &amp;&amp; down1 == Material.DIAMOND_BLOCK &amp;&amp; down2 == Material.JUKEBOX)) {
    System.out.println("Antenna Created");
    player.sendMessage("Antenna Created");
}


Now, as far as extendibility goes, You need to add newer conditions, it is not a good idea. What you have coded here is just an FSM (A state machine).

The easiest method to capture a state machine is to turn that into a regular expression. In this case, Say, the ordering is

up1 up2 main down1 down2


The conditions are

DIJ.. | I.DJ. | ..IDJ


So this captures your state machine fully. Adding future conditions is just as simple as adding to the above regular expression.

The code would look like

first(var) {
  return first_char(var)
}
string = { first(up1.toS()), first(up2.toS()),
           first(main.toS()),
           first(down1.toS()), first(down2.toS())};
re = new Regexp('DIJ..|I.DJ.|..IDJ')
if (re.match(string)) {
  player.send('Antena Created');
}