}
} else if (info.isPowered() && info.isAction(SignActionType.GROUP_ENTER, SignActionType.REDSTONE_CHANGE, SignActionType.MEMBER_MOVE)) {
// Set the next direction based on the sign
// Don't do this in the move event as that one fires too often (performance issue)
if (!info.isAction(SignActionType.MEMBER_MOVE)) {
Direction direction = Direction.parse(info.getLine(3));
if (direction != Direction.NONE) {
long delay = ParseUtil.parseTime(info.getLine(2));
BlockFace trainDirection = direction.getDirection(info.getFacing(), info.getCartDirection());
info.getGroup().getActions().clear();
info.getGroup().getActions().addActionWaitState();
if (delay > 0) {
info.getGroup().getActions().addActionWait(delay);
}