Files
gregWiki/docs/getting-started.md
Marvin 9605741570 fix(docs): update documentation for clarity and structure
- Revised the `getting-started.md` and `documentation-layout.md` files to improve clarity and organization of content.
- Enhanced descriptions and added tables for better readability in the `getting-started.md` file.
- Updated the `greg-hooks-registry.md` to reflect changes in the hook mapping and clarify the role of `greg_hooks.json`.
- Adjusted the `fmf-hook-naming.md` and `fmf-hooks-catalog.md` to emphasize the transition from legacy naming conventions to the new `greg.*` format.

This commit aims to improve the overall clarity and usability of the documentation, ensuring users have a better understanding of the framework and its components.
2026-04-10 04:34:18 +02:00

3.3 KiB
Raw Blame History

title, sidebar_label, description
title sidebar_label description
Getting started Getting started Workspace-Layout (gregFramework), gregCore bauen, Hooks & erste Mod-Schritte.

Der Workspace ist multi-repo: unter einem gemeinsamen Ordner gregFramework/ liegen mehrere Git-Repos flach nebeneinander. Logik: ModManager → Framework / SDK → Plugins → Mods — siehe System architecture & documentation principles.

Ordner Inhalt
gregCore/ Framework: gregCore/FrikaMF.sln, Hauptprojekt gregCore/framework/FrikaMF.csproj; SDK unter framework/src/Sdk/; MCP unter gregCore/mcp-server/
gregMod.<Name>/ Gameplay-Mods (FMF.*-Assemblies üblich), flach neben gregCore/ (Umbrella gregMods/ ist veraltet)
gregExt.<Name>/ Framework-Plugins (FFM.Plugin.* / greg.Plugin.*), ebenfalls flach (gregExtensions/ veraltet)
gregModmanager/ GregModManager / Workshop-UI (WorkshopUploader.csproj)
gregDataCenterExporter/ Exporter, Templates, Spiegel
gregWiki/ Diese Doku (Docusaurus)

Rust-/Native-Mods werden vom Core über die FFI-Schicht geladen; Bridge-Code lebt im framework/src/ModLoader/-Baum von gregCore.

Framework bauen

dotnet build gregCore/FrikaMF.sln -c Release

Oder gregCore/FrikaMF.sln in der IDE öffnen. Für CI ohne lokale Spiel-Installation oft: -p:CI=true (siehe jeweilige .csproj-Targets).

Voraussetzungen: MelonLoader net6-Assemblies und Il2Cpp-Interop des Spiels — entweder aus {Game}/MelonLoader/ oder aus gregCore/lib/references/MelonLoader (z.B. via python gregCore/tools/refresh_refs.py). Umgebungsvariable DATA_CENTER_GAME_DIR hilft beim Auflösen des Spielpfads.

Hooks & Registries

Thema Wo
Kanonische greg.* (JSON, Il2Cpp) Repo-Root greg_hooks.json; Regeneration: gregCore/scripts/Generate-GregHooksFromIl2CppDump.ps1
EventId → greg.* (FFI / natives Pipeline) GregNativeEventHooksgreg hooks catalog, Quellcode gregCore/framework/src/Sdk/GregNativeEventHooks.cs
Doku-Namenskonvention FMF.* FMF hook naming
Architektur Überblick Greg hooks & event runtime
Legacy-Strings GregCompatBridge lädt greg_hooks.json neben FrikaModdingFramework.dll

Ersten Mod starten

  1. Neues Repo gregMod.<Name>/ unter gregFramework/ anlegen (oder Template klonen).
  2. ProjectReference auf gregCore/framework/FrikaMF.csproj setzen (wie mods/GregShowcaseMod/).
  3. API gregFramework.Core (GregEventDispatcher, GregHookName, GregNativeEventHooks, …).
  4. Vorlagen: gregCore/Templates/greg.BasedModTemplate/ oder gespiegelte Templates unter gregDataCenterExporter/Templates/.

Referenz-Mod: mods/GregShowcaseMod/Greg hooks showcase.

Dokumentations-Site (gregWiki/)

  • Markdown unter gregWiki/docs/
  • Docker: im gregWiki/-Root docker build / docker run (siehe gregWiki/README.md)
  • MCP: mcp-server — Server unter gregCore/mcp-server/