From e818c78baaabf3a14019b5d68e8147af6130e9ce Mon Sep 17 00:00:00 2001 From: Marvin <52848568+mleem97@users.noreply.github.com> Date: Fri, 10 Apr 2026 04:44:12 +0200 Subject: [PATCH] docs: update terminology and improve clarity across documentation - Revised the tagline in `docusaurus.config.js` to reflect the focus on Data Center. - Enhanced descriptions in `getting-started.md`, `intro.md`, and various mod documentation files for consistency and clarity. - Updated references to the game name, removing "Waseku" for a more streamlined presentation. - Improved the structure and readability of tables and lists throughout the documentation. This commit aims to ensure the documentation is clear, consistent, and accurately represents the project, enhancing usability for both mod developers and players. --- docs/README.md | 2 +- docs/contributors/monorepo-target-layout.md | 2 +- docs/framework/greg-hooks-and-events.md | 52 ++++++++-------- docs/framework/hexmod.md | 2 +- docs/getting-started.md | 62 +++++++++---------- .../mod-developers/greg-hooks-showcase.md | 4 +- docs/guides/mod-developers/overview.md | 2 +- docs/intro.md | 2 +- docs/mods/fmf-console-input-guard.md | 2 +- docs/mods/fmf-gregify-employees.md | 2 +- docs/mods/fmf-hex-label-mod.md | 2 +- docs/mods/fmf-lang-compat-bridge.md | 2 +- docs/mods/framework.md | 2 +- docs/reference/fmf-hooks-catalog.md | 24 +++---- docs/reference/greg-hooks-catalog.md | 10 +-- docusaurus.config.js | 4 +- src/i18n/homepage/en.ts | 2 +- src/pages/index.tsx | 2 +- src/pages/players.tsx | 6 +- 19 files changed, 93 insertions(+), 93 deletions(-) diff --git a/docs/README.md b/docs/README.md index 4a24ffc..767c02d 100644 --- a/docs/README.md +++ b/docs/README.md @@ -8,7 +8,7 @@ This folder is the **single source of truth** for the public Docusaurus site. Th |------|------|--------| | **Landing** | [`intro` → `/wiki`](/wiki) | Mod author wiki home. | | **Topics hub** | [`topics/`](./topics/index.md) | Cross-cutting overviews (security, FFI, multiplayer, assets, meta). | -| **Mods & plugins** | [`mods/`](./mods/), [`plugins/`](./plugins/) | Gameplay mods (`FMF.*`) and framework plugins (`FFM.Plugin.*`). | +| **Mods & plugins** | [`mods/`](./mods/), [`plugins/`](./plugins/) | Gameplay mods (`FMF.*`) and framework plugins (`greg.Plugin.*` / `FFM.Plugin.*` depending on repo). | | **Releases** | [`releases/`](./releases/) | Per-artifact release notes. | | **Reference** | [`reference/`](./reference/) | Hooks, naming, MCP, generated catalogs. | | **Contributors** | [`contributors/`](./contributors/) | Repo layout, Docusaurus workflow, design system. | diff --git a/docs/contributors/monorepo-target-layout.md b/docs/contributors/monorepo-target-layout.md index 97218ee..3cf1899 100644 --- a/docs/contributors/monorepo-target-layout.md +++ b/docs/contributors/monorepo-target-layout.md @@ -13,7 +13,7 @@ The repository **stays one Git repo**. The goal is **clear boundaries** between | Top-level | Purpose | |-----------|---------| -| `framework/` | Core MelonLoader framework (`framework/FrikaMF.csproj`, `framework/FrikaMF/`, entry `Main.cs`) | +| `gregCore/framework/` | Core MelonLoader framework (`gregCore/framework/FrikaMF.csproj`, `Sdk/`, `ModLoader/`, entry `framework/Main.cs`) | | `mods/` | Gameplay mods (`FMF.Mod.*`, `FMF.*.dll` style) | | `plugins/` | FFM plugins (`FFM.Plugin.*`) | | `Templates/` | Scaffolds for new mods/plugins | diff --git a/docs/framework/greg-hooks-and-events.md b/docs/framework/greg-hooks-and-events.md index 5c723e5..d6aaf4b 100644 --- a/docs/framework/greg-hooks-and-events.md +++ b/docs/framework/greg-hooks-and-events.md @@ -6,52 +6,52 @@ description: greg.* hooks, GregEventDispatcher, GregNativeEventHooks, greg_hooks # Greg hooks & event runtime -Die Assembly **`FrikaModdingFramework.dll`** entsteht aus **`gregCore/framework/FrikaMF.csproj`** und bündelt Harmony-Patches, C#-Events (`GregEventDispatcher`), sowie die Rust-/Native-Bridge. Für Mod-Autor:innen sind im Wesentlichen **drei Flächen** relevant: +The **`FrikaModdingFramework.dll`** assembly is built from **`gregCore/framework/FrikaMF.csproj`** and combines Harmony patches, C# events (`GregEventDispatcher`), and the Rust/native bridge. Mod authors mainly care about **three surfaces**: -| Fläche | Zweck | Typischer Einstieg | -|--------|--------|---------------------| -| **`greg.*` Hook-Strings** | Kanonische Namen für Harmony-/Mod-Code; Registry in **`greg_hooks.json`**. | `GregEventDispatcher.On("greg....", handler, modId)` in **`gregFramework.Core`** | -| **Native Pipeline (`EventIds` → `greg.*`)** | Gleiche Spielmomente wie FFI-Events; zentral **`GregNativeEventHooks`**. | Konstanten / `Resolve(uint)` in **`gregFramework.Core.GregNativeEventHooks`** | -| **Legacy-Aliase** | Alte String-Schreibweisen → kanonisches **`greg.*`**. | **`GregCompatBridge`** (+ optional Einträge in **`greg_hooks.json`** `legacy`) | +| Surface | Role | Typical entry | +|---------|------|----------------| +| **`greg.*` hook strings** | Canonical names for Harmony/mod code; registry in **`greg_hooks.json`**. | `GregEventDispatcher.On("greg....", handler, modId)` in **`gregFramework.Core`** | +| **Native pipeline (`EventIds` → `greg.*`)** | Same gameplay moments as FFI events; centralized in **`GregNativeEventHooks`**. | Constants / `Resolve(uint)` on **`gregFramework.Core.GregNativeEventHooks`** | +| **Legacy aliases** | Old spellings → canonical **`greg.*`**. | **`GregCompatBridge`** (+ optional **`legacy`** entries in **`greg_hooks.json`**) | -Neue **öffentliche Dokumentations-IDs** folgen weiterhin **`FMF..*`** — siehe [FMF hook naming](/wiki/reference/fmf-hook-naming). Die **Laufzeit** für die native Kette ist **`greg.*`** wie in **`GregNativeEventHooks`** und **`greg_hooks.json`**. +New **documentation** identifiers still follow **`FMF..*`** — see [FMF hook naming](/wiki/reference/fmf-hook-naming). **Runtime** strings for the native chain are **`greg.*`** as defined by **`GregNativeEventHooks`** and **`greg_hooks.json`**. -## `greg_hooks.json` (Version 2) +## `greg_hooks.json` (version 2) -| Pfad | Rolle | -|------|--------| -| **Repo-Root** `greg_hooks.json` | Quelle der Wahrheit: `name`, `patchTarget`, `strategy`, `payloadSchema`, optional `legacy`. | -| **Neben `FrikaModdingFramework.dll`** | Wird per `FrikaMF.csproj` aus dem Monorepo-Root kopiert, damit **`GregCompatBridge`** Legacy-Namen auflösen kann. | +| Path | Role | +|------|------| +| **Repo root** `greg_hooks.json` | Source of truth: `name`, `patchTarget`, `strategy`, `payloadSchema`, optional `legacy`. | +| **Next to `FrikaModdingFramework.dll`** | Copied from the monorepo root on build so **`GregCompatBridge`** can resolve legacy names. | -Regenerieren: `gregCore/scripts/Generate-GregHooksFromIl2CppDump.ps1` bei geändertem Il2Cpp-/Interop-Stand. +Regenerate: `gregCore/scripts/Generate-GregHooksFromIl2CppDump.ps1` when Il2Cpp/interop inputs change. ## `GregEventDispatcher` / SDK -Implementierung: **`gregCore/framework/src/Sdk/GregEventDispatcher.cs`** (`namespace gregFramework.Core`). API: **`On` / `Once` / `Off` / `Emit`**, **`OnCancelable` / `InvokeCancelable`**, **`UnregisterAll(modId)`**. +Implementation: **`gregCore/framework/src/Sdk/GregEventDispatcher.cs`** (`namespace gregFramework.Core`). API: **`On` / `Once` / `Off` / `Emit`**, **`OnCancelable` / `InvokeCancelable`**, **`UnregisterAll(modId)`**. -Hook-Strings stabil mit **`GregHookName.Create(GregDomain.*, "Action")`** oder den **`GregNativeEventHooks.*`**-Konstanten bauen. +Build stable hook strings with **`GregHookName.Create(GregDomain.*, "Action")`** or **`GregNativeEventHooks.*`** constants. -## Native Events (`EventIds`) +## Native events (`EventIds`) -- **`EventIds`** und **`EventDispatcher`:** `gregCore/framework/src/ModLoader/EventDispatcher.cs` (Rust-kompatible numerische IDs). -- **Mapping → `greg.*`:** **`GregNativeEventHooks`** (`gregCore/framework/src/Sdk/GregNativeEventHooks.cs`); Emission über **`GregHookIntegration`** im selben ModLoader-Baum. -- **Katalog (Wiki):** [greg hooks catalog](/wiki/reference/greg-hooks-catalog) (Generator: `gregCore/tools/Generate-GregHookCatalog.ps1`). +- **`EventIds` and `EventDispatcher`:** `gregCore/framework/src/ModLoader/EventDispatcher.cs` (numeric ids aligned with Rust). +- **Mapping → `greg.*`:** **`GregNativeEventHooks`** (`gregCore/framework/src/Sdk/GregNativeEventHooks.cs`); emission via **`GregHookIntegration`** in the same ModLoader tree. +- **Wiki table:** [greg hooks catalog](/wiki/reference/greg-hooks-catalog) (generator: `gregCore/tools/Generate-GregHookCatalog.ps1`). ## Rust FFI -Rust-/Native-Mods erhalten **numerische** Event-IDs; C# spiegelt dieselben Momente als **`greg.*`** über **`GregHookIntegration`**, sobald der Code läuft (auch ohne aktive FFI-Verbindung für die greg-Oberfläche). Bridge-Code: **`FfiBridge` / `FFIBridge`** unter `framework/src/ModLoader/`. +Rust/native mods receive **numeric** event ids; C# mirrors the same moments as **`greg.*`** through **`GregHookIntegration`** while the game runs (including when the FFI connection is down for the managed **`greg.*` surface). Bridge code: **`FfiBridge` / `FFIBridge`** under `framework/src/ModLoader/`. -## MelonLoader-Einstiege (eine DLL) +## MelonLoader entry points (one DLL) -Je nach Build können mehrere **`MelonMod`**-Typen in derselben Assembly liegen (z. B. Framework-Hauptplugin, AssetExporter-Pfade) — **`MelonInfo`** / **`MelonGame`** in den Quellen prüfen. +Depending on the build, multiple **`MelonMod`** types may ship in the same assembly (e.g. main framework plugin vs. AssetExporter paths) — check **`MelonInfo`** / **`MelonGame`** in source. ## Tooling -- **MCP:** `greg_hook_registry`, `greg_hook_search`, … mit `dataRoot` → **`gregCore/`** — [MCP server](/wiki/reference/mcp-server). -- **Legacy-Seite [FMF hooks catalog](/wiki/reference/fmf-hooks-catalog)** verweist nur noch auf **`GregNativeEventHooks`** / greg-Katalog (kein `HookNames.cs` mehr). +- **MCP:** `greg_hook_registry`, `greg_hook_search`, … with `dataRoot` → **`gregCore/`** — [MCP server](/wiki/reference/mcp-server). +- **[FMF hooks catalog](/wiki/reference/fmf-hooks-catalog)** is now a **short redirect** to **`GregNativeEventHooks`** / [greg hooks catalog](/wiki/reference/greg-hooks-catalog) (the old **`HookNames.cs`** table is gone). -## Siehe auch +## See also - [Repository architecture](/wiki/framework/architecture) -- [FFI, hooks & Lua (Hub)](/wiki/topics/ffi-and-hooks/overview) +- [FFI, hooks & Lua (hub)](/wiki/topics/ffi-and-hooks/overview) - [Getting started](/wiki/getting-started) diff --git a/docs/framework/hexmod.md b/docs/framework/hexmod.md index d3ef41b..89dd43c 100644 --- a/docs/framework/hexmod.md +++ b/docs/framework/hexmod.md @@ -15,7 +15,7 @@ The **Hex Label** mod adds in-world hex color labels for cable spinners and rack | **Assembly** | `FMF.HexLabelMod.dll` | | **Version** | `00.01.0009` | | **Author** | mleem97 | -| **Game** | Waseku — Data Center (App 4170200) | +| **Game** | Data Center (App 4170200) | | **Workshop Tags** | `modded`, `melonloader`, `mod` | ## Downloads diff --git a/docs/getting-started.md b/docs/getting-started.md index ee6363c..00619bf 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -1,53 +1,53 @@ --- title: Getting started sidebar_label: Getting started -description: Workspace-Layout (gregFramework), gregCore bauen, Hooks & erste Mod-Schritte. +description: Workspace layout (gregFramework), building gregCore, hooks, and your first mod. --- -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](/wiki/meta/system-architecture-principles). +The workspace is **multi-repo**: several Git checkouts live **side by side** under a common `gregFramework/` folder. **Logical stack:** **ModManager → Framework / SDK → Plugins → Mods** — see [System architecture & documentation principles](/wiki/meta/system-architecture-principles). -| Ordner | Inhalt | +| Folder | Role | |--------|--------| -| **`gregCore/`** | Framework: **`gregCore/FrikaMF.sln`**, Hauptprojekt **`gregCore/framework/FrikaMF.csproj`**; SDK unter `framework/src/Sdk/`; MCP unter `gregCore/mcp-server/` | -| **`gregMod./`** | Gameplay-Mods (`FMF.*`-Assemblies üblich), **flach** neben `gregCore/` (Umbrella **`gregMods/`** ist veraltet) | -| **`gregExt./`** | Framework-Plugins (`FFM.Plugin.*` / `greg.Plugin.*`), ebenfalls flach (**`gregExtensions/`** veraltet) | -| **`gregModmanager/`** | GregModManager / Workshop-UI (`WorkshopUploader.csproj`) | -| **`gregDataCenterExporter/`** | Exporter, Templates, Spiegel | -| **`gregWiki/`** | Diese Doku (Docusaurus) | +| **`gregCore/`** | Framework: **`gregCore/FrikaMF.sln`**, main project **`gregCore/framework/FrikaMF.csproj`**; SDK under `framework/src/Sdk/`; MCP under `gregCore/mcp-server/` | +| **`gregMod./`** | Gameplay mods (often `FMF.*` assemblies), **flat** next to `gregCore/` (umbrella **`gregMods/`** is deprecated) | +| **`gregExt./`** | Framework plugins (`FFM.Plugin.*` / `greg.Plugin.*`), also flat (**`gregExtensions/`** deprecated) | +| **`gregModmanager/`** | GregModManager / Workshop UI (`WorkshopUploader.csproj`) | +| **`gregDataCenterExporter/`** | Exporter, templates, mirrors | +| **`gregWiki/`** | This documentation site (Docusaurus) | -Rust-/Native-Mods werden vom Core über die FFI-Schicht geladen; Bridge-Code lebt im **`framework/src/ModLoader/`**-Baum von **gregCore**. +Rust/native mods are loaded through the core FFI layer; bridge code lives under **`gregCore/framework/src/ModLoader/`**. -## Framework bauen +## Build the framework ```bash 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). +Or open **`gregCore/FrikaMF.sln`** in your IDE. For CI without a local game install, many projects support **`-p:CI=true`** (see each `.csproj`). -**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. +**Prerequisites:** MelonLoader **net6** assemblies and game Il2Cpp interop — either from `{Game}/MelonLoader/` or **`gregCore/lib/references/MelonLoader`** (e.g. `python gregCore/tools/refresh_refs.py`). Set **`DATA_CENTER_GAME_DIR`** if MSBuild should discover the game path. -## Hooks & Registries +## Hooks and registries -| Thema | Wo | -|--------|-----| -| **Kanonische `greg.*` (JSON, Il2Cpp)** | Repo-Root **`greg_hooks.json`**; Regeneration: **`gregCore/scripts/Generate-GregHooksFromIl2CppDump.ps1`** | -| **EventId → `greg.*` (FFI / natives Pipeline)** | **`GregNativeEventHooks`** — [greg hooks catalog](/wiki/reference/greg-hooks-catalog), Quellcode `gregCore/framework/src/Sdk/GregNativeEventHooks.cs` | -| **Doku-Namenskonvention `FMF.*`** | [FMF hook naming](/wiki/reference/fmf-hook-naming) | -| **Architektur Überblick** | [Greg hooks & event runtime](/wiki/framework/greg-hooks-and-events) | -| **Legacy-Strings** | **`GregCompatBridge`** lädt **`greg_hooks.json`** neben **`FrikaModdingFramework.dll`** | +| Topic | Where | +|-------|--------| +| **Canonical `greg.*` (JSON, Il2Cpp)** | Repo root **`greg_hooks.json`**; regenerate: **`gregCore/scripts/Generate-GregHooksFromIl2CppDump.ps1`** | +| **EventId → `greg.*` (native / FFI pipeline)** | **`GregNativeEventHooks`** — [greg hooks catalog](/wiki/reference/greg-hooks-catalog), source `gregCore/framework/src/Sdk/GregNativeEventHooks.cs` | +| **`FMF.*` documentation naming** | [FMF hook naming](/wiki/reference/fmf-hook-naming) | +| **Architecture** | [Greg hooks & event runtime](/wiki/framework/greg-hooks-and-events) | +| **Legacy spellings** | **`GregCompatBridge`** loads **`greg_hooks.json`** next to **`FrikaModdingFramework.dll`** | -## Ersten Mod starten +## Start a new mod -1. Neues Repo **`gregMod./`** 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/`**. +1. Create **`gregMod./`** under `gregFramework/` (or clone a template). +2. Add **`ProjectReference`** to **`gregCore/framework/FrikaMF.csproj`** (see **`mods/GregShowcaseMod/`**). +3. Use **`gregFramework.Core`** (`GregEventDispatcher`, `GregHookName`, `GregNativeEventHooks`, …). +4. Templates: **`gregCore/Templates/greg.BasedModTemplate/`** or mirrored templates under **`gregDataCenterExporter/Templates/`**. -Referenz-Mod: **`mods/GregShowcaseMod/`** — [Greg hooks showcase](/wiki/guides/mod-developers/greg-hooks-showcase). +Reference mod: **`mods/GregShowcaseMod/`** — [Greg hooks showcase](/wiki/guides/mod-developers/greg-hooks-showcase). -## Dokumentations-Site (`gregWiki/`) +## Documentation site (`gregWiki/`) -- Markdown unter **`gregWiki/docs/`** -- Docker: im **`gregWiki/`**-Root `docker build` / `docker run` (siehe **`gregWiki/README.md`**) -- MCP: [mcp-server](/wiki/reference/mcp-server) — Server unter **`gregCore/mcp-server/`** +- Markdown under **`gregWiki/docs/`** +- Docker: from **`gregWiki/`** root — see **`gregWiki/README.md`** +- MCP: [mcp-server](/wiki/reference/mcp-server) — server code under **`gregCore/mcp-server/`** diff --git a/docs/guides/mod-developers/greg-hooks-showcase.md b/docs/guides/mod-developers/greg-hooks-showcase.md index 13d257f..e8756f6 100644 --- a/docs/guides/mod-developers/greg-hooks-showcase.md +++ b/docs/guides/mod-developers/greg-hooks-showcase.md @@ -31,7 +31,7 @@ Authoritative documentation: [greg hooks registry (IL2CPP)](/wiki/reference/greg **Pattern A — dynamic (anonymous types from compiler):** ```csharp -private static void OnMoneyChanged(object payload) +private static void OnCoinChanged(object payload) { dynamic p = payload; float delta = (float)p.coinChangeAmount; @@ -62,7 +62,7 @@ Use **`GregPayload.Dump(payload)`** for one-line debug strings. ## Prefix hooks and cancellation -Hooks that run **before** the original method (Harmony Prefix) can call **`GregEventDispatcher.InvokeCancelable(hookName, payload)`**. Mods register **`GregEventDispatcher.OnCancelable(hookName, p => bool, modId)`**; if any handler returns `false`, the integration can skip the original (e.g. `Player.UpdateCoin`). +Hooks that run **before** the original method (Harmony Prefix) can call **`GregEventDispatcher.InvokeCancelable(hookName, payload)`**. Mods register **`GregEventDispatcher.OnCancelable(hookName, p => bool, modId)`**; if any handler returns `false`, the integration can skip the original (e.g. `Player.UpdateCoin`). Der Showcase nutzt **`GregNativeEventHooks.PlayerCoinChanged`** (`greg.PLAYER.CoinChanged`). Showcase: enable `blockNegativeTransactions` in `content/modconfig.json` to register a veto on large negative `coinChangeAmount` values. diff --git a/docs/guides/mod-developers/overview.md b/docs/guides/mod-developers/overview.md index 17332f5..316d774 100644 --- a/docs/guides/mod-developers/overview.md +++ b/docs/guides/mod-developers/overview.md @@ -13,6 +13,6 @@ description: Getting started, mod config, debugging — curated docs for FMF mod - [Getting started](/wiki/getting-started) and [Documentation hub](/wiki/developers) - [Framework overview](/wiki/mods/framework) — runtime capabilities and repo layout - [FMF hooks](/wiki/framework/fmf-hooks) — hook surface (generated article) -- [FMF hook naming](/wiki/reference/fmf-hook-naming) and [hooks catalog](/wiki/reference/fmf-hooks-catalog) +- [FMF hook naming](/wiki/reference/fmf-hook-naming); runtime map: [greg hooks catalog](/wiki/reference/greg-hooks-catalog) (see also [FMF hooks catalog (legacy redirect)](/wiki/reference/fmf-hooks-catalog)) - [Contributor workshop](/wiki/guides/contributors/contributor-workshop) — builds, CI, and PRs - [Mods](/wiki/mods/) — gameplay mods (`FMF.*`) and release pages diff --git a/docs/intro.md b/docs/intro.md index 77ae81f..077ec68 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -2,7 +2,7 @@ id: intro title: Mod author wiki slug: / -description: Technical documentation for Data Center Simulator mod and plugin authors — gregFramework, hooks, workspace, and releases. +description: Technical documentation for Data Center mod and plugin authors — gregFramework, hooks, workspace, and releases. --- # Mod author wiki diff --git a/docs/mods/fmf-console-input-guard.md b/docs/mods/fmf-console-input-guard.md index a3c9d2f..9acc6dd 100644 --- a/docs/mods/fmf-console-input-guard.md +++ b/docs/mods/fmf-console-input-guard.md @@ -15,7 +15,7 @@ Provides guardrails around console input handling and accidental interactions. | **Assembly** | `FMF.ConsoleInputGuard.dll` | | **Version** | `00.01.0001` | | **Author** | mleem97 | -| **Game** | Waseku — Data Center (App 4170200) | +| **Game** | Data Center (App 4170200) | | **Workshop Tags** | `modded`, `melonloader`, `mod` | | **Workshop Content Path** | `content/Mods/` | | **Needs FMF** | No (standalone MelonLoader mod) | diff --git a/docs/mods/fmf-gregify-employees.md b/docs/mods/fmf-gregify-employees.md index 1eacafa..212ed7e 100644 --- a/docs/mods/fmf-gregify-employees.md +++ b/docs/mods/fmf-gregify-employees.md @@ -15,7 +15,7 @@ Applies themed employee customization to hiring-related gameplay flows. | **Assembly** | `FMF.GregifyEmployees.dll` | | **Version** | `00.01.0009` | | **Author** | mleem97 | -| **Game** | Waseku — Data Center (App 4170200) | +| **Game** | Data Center (App 4170200) | | **Workshop Tags** | `modded`, `melonloader`, `mod` | | **Workshop Content Path** | `content/Mods/` | | **Needs FMF** | No (standalone MelonLoader mod) | diff --git a/docs/mods/fmf-hex-label-mod.md b/docs/mods/fmf-hex-label-mod.md index 8357b8a..e2fb39f 100644 --- a/docs/mods/fmf-hex-label-mod.md +++ b/docs/mods/fmf-hex-label-mod.md @@ -9,7 +9,7 @@ sidebar_label: FMF.HexLabelMod ## Purpose -Standalone MelonLoader mod for **Data Center** (Waseku) that overlays the hex color code of each `CableSpinner` and `Rack` directly in-world, so you can identify cable and rack colors at a glance without opening any menu. +Standalone MelonLoader mod for **Data Center** that overlays the hex color code of each `CableSpinner` and `Rack` directly in-world, so you can identify cable and rack colors at a glance without opening any menu. Rewritten from the former root `HexLabelMod` for the FrikaModdingFramework workflow, now running fully standalone. diff --git a/docs/mods/fmf-lang-compat-bridge.md b/docs/mods/fmf-lang-compat-bridge.md index 5f2823a..823af3a 100644 --- a/docs/mods/fmf-lang-compat-bridge.md +++ b/docs/mods/fmf-lang-compat-bridge.md @@ -15,7 +15,7 @@ Provides language/localization compatibility bridging for mixed mod stacks. | **Assembly** | `FMF.JoniMLCompatMod.dll` | | **Version** | `00.01.0009` | | **Author** | mleem97 | -| **Game** | Waseku — Data Center (App 4170200) | +| **Game** | Data Center (App 4170200) | | **Workshop Tags** | `modded`, `melonloader`, `mod` | | **Workshop Content Path** | `content/Mods/` | | **Needs FMF** | No (standalone MelonLoader mod) | diff --git a/docs/mods/framework.md b/docs/mods/framework.md index eea2c0d..bd36e4f 100644 --- a/docs/mods/framework.md +++ b/docs/mods/framework.md @@ -19,6 +19,6 @@ The core `FrikaMF` runtime provides: - [FMF hooks (generated)](/wiki/framework/fmf-hooks) — hook surface and categories (deklarativ; kann der JSON-Registry folgen) - [FMF hook naming](/wiki/reference/fmf-hook-naming) — **`FMF.*`** Doku-Konvention - [greg hooks catalog](/wiki/reference/greg-hooks-catalog) — **EventId → `greg.*`** (`GregNativeEventHooks`, generiert) -- [FMF hooks catalog](/wiki/reference/fmf-hooks-catalog) — Kurzüberblick / Redirect (ersetzt altes `HookNames`) +- [FMF hooks catalog](/wiki/reference/fmf-hooks-catalog) — short redirect (replaces old `HookNames`) - [greg hooks registry (IL2CPP)](/wiki/reference/greg-hooks-registry) — `greg_hooks.json`, Generator, Harmony-Deduplizierung - [Framework architecture](/wiki/framework/architecture) — runtime layout and bridges diff --git a/docs/reference/fmf-hooks-catalog.md b/docs/reference/fmf-hooks-catalog.md index 5b5ea07..1bc45cf 100644 --- a/docs/reference/fmf-hooks-catalog.md +++ b/docs/reference/fmf-hooks-catalog.md @@ -5,31 +5,31 @@ slug: /reference/fmf-hooks-catalog description: Redirect — native EventId → greg.* mapping now lives in GregNativeEventHooks; see greg hooks catalog. --- - + # FMF hooks catalog (legacy) -Die frühere, aus **`HookNames.cs`** generierte Tabelle wurde **entfernt**. Die Laufzeit mappt numerische **`EventIds`** heute zentral über **`GregNativeEventHooks`** auf kanonische **`greg.*`**-Strings (siehe auch **`GregCompatBridge`** für veraltete Schreibweisen). +The old table generated from **`HookNames.cs`** has been **removed**. Runtime mapping of numeric **`EventIds`** to canonical **`greg.*`** strings is centralized in **`GregNativeEventHooks`** (see **`GregCompatBridge`** for deprecated spellings). -## Aktuelle Quellen +## Current sources -| Thema | Wo | -|--------|-----| -| **EventId → `greg.*` (FFI / natives Pipeline)** | [greg hooks catalog](./greg-hooks-catalog.md) — generiert aus `gregCore/framework/src/Sdk/GregNativeEventHooks.cs` und `EventIds` in `EventDispatcher.cs` | -| **Il2Cpp-Hook-Registry (JSON)** | `greg_hooks.json` im Repo-Root; Kopie neben `FrikaModdingFramework.dll` beim Build | -| **Doku-Politik `FMF.*`** | [FMF hook naming](./fmf-hook-naming.md) — Namenskonvention für neue *Dokumentations*-IDs (nicht 1:1 jedes Runtime-Strings) | +| Topic | Where | +|-------|--------| +| **EventId → `greg.*` (FFI / native pipeline)** | [greg hooks catalog](./greg-hooks-catalog.md) — generated from `gregCore/framework/src/Sdk/GregNativeEventHooks.cs` and `EventIds` in `EventDispatcher.cs` | +| **Il2Cpp hook registry (JSON)** | `greg_hooks.json` at repo root; copied next to `FrikaModdingFramework.dll` on build | +| **`FMF.*` documentation policy** | [FMF hook naming](./fmf-hook-naming.md) — naming for new *documentation* IDs (not byte-for-byte every runtime string) | -## Katalog neu erzeugen +## Regenerate the wiki table -Im **gregCore**-Repo (gregWiki-Checkout liegt typischerweise **nebendran**): +From the **gregCore** repo (with **gregWiki** checked out **next to** **gregCore**): ```powershell ./tools/Generate-GregHookCatalog.ps1 ``` -Aktualisiert `gregWiki/docs/reference/greg-hooks-catalog.md`. +Updates `gregWiki/docs/reference/greg-hooks-catalog.md`. -## Siehe auch +## See also - [greg hooks catalog](./greg-hooks-catalog.md) - [Greg hooks & event runtime](/wiki/framework/greg-hooks-and-events) diff --git a/docs/reference/greg-hooks-catalog.md b/docs/reference/greg-hooks-catalog.md index 6f06a6d..0d17c69 100644 --- a/docs/reference/greg-hooks-catalog.md +++ b/docs/reference/greg-hooks-catalog.md @@ -9,9 +9,9 @@ description: Auto-generated catalog of native pipeline hook strings from GregNat # greg hooks catalog -This page is **generated** from `gregCore/framework/src/Sdk/GregNativeEventHooks.cs` and `EventIds` in `EventDispatcher.cs`. +This page is **generated** from `gregCore/framework/Sdk/GregNativeEventHooks.cs` and `EventIds` in `EventDispatcher.cs`. -**Generated:** 2026-04-10 02:07:09 UTC +**Generated:** 2026-04-10 02:43:33 UTC ## Hook string constants @@ -110,7 +110,7 @@ Unknown event ids resolve to ``greg.SYSTEM.UnmappedNativeEvent`` via ``GregNativ ## See also -- [greg hooks registry](./greg-hooks-registry.md) -- [EventIds source](https://github.com/mleem97/gregFramework/blob/main/gregCore/framework/src/ModLoader/EventDispatcher.cs) -- [GregNativeEventHooks source](https://github.com/mleem97/gregFramework/blob/main/gregCore/framework/src/Sdk/GregNativeEventHooks.cs) +- [greg hook naming](./greg-hook-naming.md) +- [EventIds source](https://github.com/mleem97/gregFramework/blob/main/gregCore/framework/ModLoader/EventDispatcher.cs) +- [GregNativeEventHooks source](https://github.com/mleem97/gregFramework/blob/main/gregCore/framework/Sdk/GregNativeEventHooks.cs) - [Greg hooks & event runtime](/wiki/framework/greg-hooks-and-events) diff --git a/docusaurus.config.js b/docusaurus.config.js index 3115c12..f8381ca 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -2,7 +2,7 @@ const config = { title: 'gregFramework', - tagline: 'Mod-author documentation for Data Center Simulator; players use /players and the mod catalog.', + tagline: 'Mod-author documentation for Data Center; players use /players and the mod catalog.', favicon: 'img/logo.svg', url: 'https://frikadellental.de', baseUrl: '/', @@ -264,7 +264,7 @@ const config = { ], }, ], - copyright: `Copyright ${new Date().getFullYear()} Meyer Media
This wiki is a community project and is not affiliated with WASEKU or the game.`, + copyright: `Copyright ${new Date().getFullYear()} Meyer Media
This wiki is a community project and is not affiliated with the developer or publisher of Data Center.`, }, }, }; diff --git a/src/i18n/homepage/en.ts b/src/i18n/homepage/en.ts index 28ac70d..01f00c7 100644 --- a/src/i18n/homepage/en.ts +++ b/src/i18n/homepage/en.ts @@ -33,7 +33,7 @@ export const en: HomepageContent = { 'datacentermods.com is in preparation. Until it launches, use the player guides in the wiki and the mod catalog on this site.', communityTitle: 'Community', communityText: - 'This site documents gregFramework, community mods, and plugins for Data Center Simulator.', + 'This site documents gregFramework, community mods, and plugins for Data Center.', docsEndUserTitle: 'Players', docsEndUserDescription: 'Install, update, FAQ, troubleshooting.', docsModDevsTitle: 'Mod developers', diff --git a/src/pages/index.tsx b/src/pages/index.tsx index e45d282..089b208 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -101,7 +101,7 @@ export default function HomePage(): JSX.Element { return (
diff --git a/src/pages/players.tsx b/src/pages/players.tsx index 4ccb077..f508140 100644 --- a/src/pages/players.tsx +++ b/src/pages/players.tsx @@ -12,7 +12,7 @@ export default function PlayersPage(): JSX.Element { return (

@@ -35,7 +35,7 @@ export default function PlayersPage(): JSX.Element {

  • - Data Center Simulator + Data Center {' '} on Steam (AppID 4170200)
  • @@ -50,7 +50,7 @@ export default function PlayersPage(): JSX.Element {

    MelonLoader

    1. Download the latest MelonLoader installer from the official MelonLoader GitHub.
    2. -
    3. Run it, select Data Center Simulator, choose the IL2CPP profile.
    4. +
    5. Run it, select Data Center, choose the IL2CPP profile.
    6. Start the game once and exit so interop assemblies are generated.
    7. If something fails, check MelonLoader/Latest.log in the game folder.