A desktop application for creating mods for Lord of the Rings: Return to Moria.
Moria MOD Creator simplifies the process of modding Return to Moria by providing a graphical interface to:
- Import and extract game files
- Convert game assets to editable JSON format
- Create mod definitions that specify what values to change
- Edit Buildings, Constructions, and Secrets with dedicated tabs
- Build complete mod packages ready for use
- Novice / Advanced UI Modes - Simplified card-based mod builder for beginners, full editor for power users
- Buildings Tab - Edit item properties, stack sizes, durability, loot tables, and more
- Constructions Tab - Edit construction recipes, costs, building properties
- Secrets Tab - Edit secrets and hidden game content
- File Import - Import game files using FModel integration
- JSON Conversion - Convert
.uassetfiles to editable JSON format using UAssetGUI - Mod Definition Editor - Create and manage
.deffiles that define mod changes - Build System - Process definitions, modify JSON, convert back to game format, and package as a zip
- Prebuilt Mods - 16 ready-made mods replicating popular Nexus mods
- Filterable Dropdowns - Type-to-filter combo boxes for quick item selection
- Combined Import - Import constructions and secrets from game data with one dialog
Download the latest MoriaMODCreator_Setup_v1.1.exe from GitHub Releases. The installer bundles all required utilities and definition files.
-
Clone the repository:
git clone https://github.com/jbowensii/MoriaModCreator.git cd MoriaModCreator -
Create a virtual environment:
python -m venv .venv .venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Place required utilities in
%APPDATA%\MoriaMODCreator\utilities\ -
Run the application:
python main.py
- Python 3.10 or higher
- Windows OS
- The following utilities (placed in
%APPDATA%\MoriaMODCreator\utilities\):
- Import Game Files - Click the Import button to extract game files using FModel
- Convert to JSON - Convert the extracted
.uassetfiles to JSON format - Create a Mod - Use "My Mods" dropdown to create a new mod project
- Add Definitions - Create
.deffiles or use the built-in tabs to edit values - Build - Click Build to process your mod and create a ready-to-use zip file
Definition files are XML files that specify what changes to make to game data:
<?xml version="1.0" encoding="utf-8"?>
<definition>
<description>Makes mining song buff last longer</description>
<author>YourName</author>
<mod file="\Moria\Content\Character\Shared\Effects\GE_MiningSong_CompleteBuff.json">
<object name="GE_MiningSong_CompleteBuff">
<change property="DurationMagnitude.ScalableFloatMagnitude.Value" value="1800" />
</object>
</mod>
</definition>When you click Build, the application:
- Copies and modifies JSON files based on your definitions
- Converts JSON back to
.uassetformat - Packages assets into zen format (
.utoc/.ucas/.pak) - Creates a zip file in your Downloads folder
MoriaModCreator/
├── main.py # Application entry point
├── requirements.txt # Python dependencies
├── assets/ # Icons and images
│ ├── icons/
│ └── images/
├── src/
│ ├── build_manager.py # Build pipeline logic
│ ├── config.py # Configuration management
│ ├── constants.py # Application constants
│ ├── definition_manager.py # .def file handling
│ └── ui/
│ ├── main_window.py # Main application window
│ ├── buildings_view.py # Buildings tab
│ ├── constructions_view.py # Constructions tab
│ ├── about_dialog.py # Help/About dialog
│ ├── config_dialog.py # Settings dialog
│ ├── import_dialog.py # File import dialog
│ ├── combined_import_dialog.py # Combined import dialog
│ ├── secrets_import_dialog.py # Secrets import dialog
│ ├── import_construction_dialog.py # Construction import
│ ├── json_convert_dialog.py # JSON conversion dialog
│ ├── mod_name_dialog.py # Mod naming dialog
│ ├── filterable_combobox.py # Type-to-filter dropdown
│ ├── shared_utils.py # Shared UI utilities
│ ├── html_text_renderer.py # HTML rendering
│ └── utility_check_dialog.py # Utility validation
├── tests/ # Test suite (211 tests)
├── scripts/ # Build and release scripts
├── helpers/ # Developer utility scripts
├── installer/ # Inno Setup script and zip bundles
└── docs/ # Documentation and example mods
├── definitions/ # Reference .def files
└── prebuilt modfiles/ # Pre-built mod .ini files
The application stores data in %APPDATA%\MoriaMODCreator\:
| Directory | Purpose |
|---|---|
Definitions/ |
Global definition files |
mymodfiles/ |
Per-mod project files |
cache/ |
Cached game JSON (constructions, game, secrets) |
changeconstructions/ |
Construction change definitions and build intermediates |
changesecrets/ |
Secret change definitions and build intermediates |
prebuilt modfiles/ |
Pre-configured mod .ini files |
New Objects/ |
Custom object/NPC definitions |
Secrets Source/ |
Secrets .def source files |
utilities/ |
External tools (UAssetGUI, retoc, FModel, ZenTools) |
output/ |
Build output files |
Contributions are welcome! Please feel free to submit a Pull Request.
Bug reports: https://github.com/jbowensii/MoriaModCreator/issues
This project is licensed under the MIT License - see the LICENSE file for details.
- UAssetGUI - For uasset/JSON conversion
- retoc - For zen format packaging
- FModel - For game file extraction
- ZenTools - For UE4 zen packaging
- CustomTkinter - Modern UI framework
This tool is for personal use only. Always respect the game's terms of service and the rights of the developers.