Skip to content

Architecture Overview

Blue Mod Installer is a classic Blueprint extension: PHP controllers for the client API, a blade admin page, and a set of React components for the server dashboard. Blueprint mounts each piece at install time.

Components

PieceSourceMounted atRole
ModManagerControllercontrollers/app/BlueprintFramework/Extensions/bluemodinstaller/Search proxy — builds provider URLs, normalizes responses
ModVersionControllercontrollers/sameVersion list proxy
InstallModControllercontrollers/sameResolves the file URL, Wings pull into /mods
bluemodinstallerExtensionControllercontroller.phpapp/Http/Controllers/Admin/Extensions/bluemodinstaller/Admin settings get/post via BlueprintAdminLibrary
index.blade.phpview.blade.phpresources/views/admin/extensions/bluemodinstaller/Admin settings form
Client routerroutes.phproutes/blueprint/client/bluemodinstaller.php3 routes under /api/client/extensions/bluemodinstaller/servers/{server}
React componentscomponents/resources/scripts/blueprint/extensions/bluemodinstaller (symlink)Server sidebar tab at /bluemodinstaller

Data flow

Search: the tab calls the client API → ModManagerController checks file.read on the server → builds the provider URL (Modrinth facets / CurseForge query params, API key injected from extension settings) → normalizes both providers' responses into one shape (data + pagination).

Install: the tab posts provider + mod + version → InstallModController checks file.create → resolves the concrete file URL (project/{id}/version on Modrinth, mods/{id}/files on CurseForge, edge→mediafiles rewrite for CF) → DaemonFileRepository::pull() downloads it on the node into /mods in the foreground → success/error JSON.

Repository layout

blueprint/
  bluemodinstaller/        # extension source (single source of truth)
    conf.yml               # manifest — version & Blueprint compatibility
    controller.php         # admin controller
    view.blade.php         # admin settings form
    routes.php             # client API router
    controllers/           # 3 client API controllers
    components/            # React UI (container, cards, filters, pagination, api/)
  INSTALLATION.md          # Blueprint install guide
standalone/
  INSTALLATION.md          # manual (no-CLI) install guide
tools/
  build-release.sh         # builds the versioned release zip

Releases ship one zip with blueprint/ (the .blueprint + guide) and standalone/ (all files + guide) — see the repo README.