Files
gregWiki/docs/reference/modding-language-requirement.md
Marvin ea92a0baf8 refactor: update project branding and structure for gregFramework
- Changed project title and tagline in docusaurus.config.js to reflect the new branding.
- Updated package.json and package-lock.json to rename the project to gregwiki-docs-site.
- Adjusted sidebar and documentation files to align with the new project structure and naming conventions.
- Enhanced documentation content for clarity and consistency across various sections.
- Added Prettier as a development dependency for code formatting.

This commit aligns the project with the new branding and improves overall documentation quality.
2026-04-10 01:20:22 +02:00

31 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: modding-language-requirement
title: Modding language (C# only)
slug: /reference/modding-language-requirement
description: 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 `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
- [Framework](/wiki/mods/framework) — runtime surface for mod authors
- [FMF hook naming](/wiki/reference/fmf-hook-naming)