|| (sign.getType() != Material.WALL_SIGN
&& sign.getType() != Material.SIGN_POST))
sign.setType(type == Type.WALL_SIGN ? Material.WALL_SIGN: Material.SIGN_POST);
BlockState signState = sign.getState();
Utilities.setSignLines((Sign) signState, text.toArray(4));
if (direction != null)
Utilities.setSignRotation(signState, direction);
else if (type == Type.WALL_SIGN)
Utilities.setSignRotation(signState);
}