{"id":30430323,"url":"https://github.com/carnagion/modot","last_synced_at":"2025-10-06T01:40:57.483Z","repository":{"id":38364628,"uuid":"503713270","full_name":"Carnagion/Modot","owner":"Carnagion","description":"A mod loader and API for applications made using Godot, with the ability to load C# assemblies, XML data, and resource packs at runtime.","archived":false,"fork":false,"pushed_at":"2023-05-21T08:48:19.000Z","size":81,"stargazers_count":151,"open_issues_count":2,"forks_count":12,"subscribers_count":4,"default_branch":"stable","last_synced_at":"2025-09-22T17:47:40.677Z","etag":null,"topics":["csharp","godot","godot-engine","godot3","godotengine","modding","modding-tools"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Carnagion.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-06-15T10:11:45.000Z","updated_at":"2025-09-08T22:21:45.000Z","dependencies_parsed_at":"2025-08-22T18:49:34.822Z","dependency_job_id":null,"html_url":"https://github.com/Carnagion/Modot","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/Carnagion/Modot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Carnagion%2FModot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Carnagion%2FModot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Carnagion%2FModot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Carnagion%2FModot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Carnagion","download_url":"https://codeload.github.com/Carnagion/Modot/tar.gz/refs/heads/stable","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Carnagion%2FModot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278547771,"owners_count":26004772,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","godot","godot-engine","godot3","godotengine","modding","modding-tools"],"created_at":"2025-08-22T18:18:00.678Z","updated_at":"2025-10-06T01:40:57.438Z","avatar_url":"https://github.com/Carnagion.png","language":"C#","readme":"# Modot\n\n**Modot** is a mod loader for applications made using Godot, inspired heavily by [RimWorld](https://rimworldgame.com)'s mod loading process.\n\nIts API is aimed at allowing creators to easily modularise their Godot applications, create and deploy patches and DLCs, and let users expand the functionality of their applications.\n\n# Features\n\n- Load mods with C# assemblies, XML data, and resource packs at runtime\n- Sort mods using load orders defined partially by each mod to prevent conflicts\n- Patch XML data of other loaded mods without executing code\n- Optionally execute code from mod assemblies upon loading\n- Load mods individually, bypassing load order restrictions\n\nA more detailed explanation of all features along with instructions on usage is available on the [wiki](https://github.com/Carnagion/Modot/wiki).\n\n# Installation\n\n**Modot** is available as a [NuGet package](https://www.nuget.org/packages/Modot).  \nSimply include the following lines in a Godot project's `.csproj` file (either by editing the file manually or letting an IDE install the package):\n```xml\n\u003cItemGroup\u003e\n    \u003cPackageReference Include=\"Modot\" Version=\"2.0.2\"/\u003e\n\u003c/ItemGroup\u003e\n ```\n\nDue to [a bug](https://github.com/godotengine/godot/issues/42271) in Godot, the following lines will also need to be included in the `.csproj` file to properly compile along with NuGet packages:\n```xml\n\u003cPropertyGroup\u003e\n    \u003cCopyLocalLockFileAssemblies\u003etrue\u003c/CopyLocalLockFileAssemblies\u003e\n\u003c/PropertyGroup\u003e\n```\n\n# Security\n\n**Modot** includes the ability to execute code from C# assemblies (`.dll` files) at runtime.  \nWhile this feature is immensely useful and opens up a plethora of possibilities for modding, it also comes with the risk of executing potentially malicious code.\n\nThis is unfortunately an issue that has no easy solution, as it is fairly difficult to accurately detect whether an assembly contains harmful code.\n\nAs such, it is important to note that **Modot does not bear the responsibility of checking for potentially malicious code in a mod's assembly**.\n\nHowever, it does provide the option to ignore a mod's assemblies, preventing any code from being executed.  \nAlong with the ability to load mods individually, this can be used to ensure that only trusted mods can execute their code.\n\nAnother way to prevent executing malicious code is by restricting the source of mods to websites that thoroughly scan and verify uploaded user content. As mentioned earlier though, **it is not Modot's responsibility to implement such checks**.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarnagion%2Fmodot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcarnagion%2Fmodot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarnagion%2Fmodot/lists"}