return false;
}
// Grab the top left sign and set up a copy for parsing.
this.topLeftSign = (Sign) state;
Sign current = this.topLeftSign;
// Calculate matrix dimensions.
this.direction = getRightDirection(current);
this.rows = getSignCount(current, BlockFace.DOWN);
this.cols = getSignCount(current, direction);
// Require at least 2x2 to be valid
if (rows <= 1 || cols <= 1) {
return false;
}
// Get the left-most sign in the current row.
Sign first = getAdjacentSign(current, BlockFace.DOWN);
for (int i = 1; i < rows; i++)
{
// Back to the first sign of the row.
current = first;