Files
gregWiki/docs/reference/modding-language-requirement.md
Marvin cfaa5550d4 docs: enhance documentation structure and clarify repository layout
- Updated the README and various documentation files to reflect the new flat layout of the `gregFramework`, emphasizing the direct placement of repositories like `gregMod.<Name>/` and `gregExt.<Name>/` under `gregFramework/`.
- Added details about the `gregModmanager/` and `gregDataCenterExporter/` directories, clarifying their roles and contents.
- Improved descriptions and links throughout the documentation to ensure consistency and accuracy, enhancing user navigation and understanding of the project structure.
- Adjusted language in several sections to better communicate the purpose and organization of the repositories.

This commit improves the overall clarity and usability of the documentation.
2026-04-10 02:03:00 +02:00

1.5 KiB
Raw Blame History

id, title, slug, description
id title slug description
modding-language-requirement Modding language (C# only) /reference/modding-language-requirement Mandatory language for mods, MelonLoader plugins, and extensions — C# only.

Modding language (C# only)

Requirement

All logic for mods, MelonLoader plugins, and framework extensions must be implemented in C#.

That applies to anything shipped as a gregMod.*, gregExt.*, or FFM.Plugin.* / FMF.* module that loads through the MelonLoader / IL2CPP stack: gameplay code, Harmony patches, UI, networking hooks, and data handling belong in C# (typically targeting .NET compatible with your MelonLoader build).

Rationale

  • MelonLoader loads managed .NET assemblies; Harmony and the interop layer are built around C#.
  • A single language keeps reviews, debugging, and CI consistent for contributors.

What this does not restrict

  • Framework core (gregCore) may still contain non-C# components maintained by core maintainers (for example the Rust FFI bridge under gregCore/bridges/gregSta.RustBridge/, build scripts, or tooling). Those are not substitutes for implementing mod/plugin/extension behavior outside C#.
  • Documentation, config (JSON/YAML), and assets are not “logic” in this sense.
  • gregStore, gregWiki, and other nonin-game stacks may use other languages as appropriate.

See also