Block farSide = getFarSign(trigger);
if (farSide.getType() != trigger.getType()) throw new InvalidMechanismException("mech.bridge.other-sign");
// Check the other side's base blocks for matching type
BlockFace face = trigger.getFace(proximalBaseCenter);
if(face != BlockFace.UP && face != BlockFace.DOWN) face = face.getOppositeFace();
Block distalBaseCenter = farSide.getRelative(face);
if (!BlockUtil.areBlocksIdentical(distalBaseCenter, proximalBaseCenter))
throw new InvalidMechanismException("mech.bridge.material");
// Select the togglable region