Skip to content

HollowNumber/VintageModManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VintageModManager

format tests GitHub release Release

VintageModManager is a Rust-based application designed to manage and organize mods for Vintage Story. This project aims to provide a comprehensive solution for mod management, including features such as mod list parsing, auto downloading as well as updating mods.

Project Status

Note: This project is currently under development and is not yet finished. Many features are still being implemented, and the codebase is subject to significant changes. Contributions and feedback are welcome as we continue to improve and expand the functionality of VintageModManager.

Features

  • Mod Information Handling: Parse and manage mod information from JSON data.
  • Mod Downloading: Download mods from the Vintage Story moddb api.
  • Mod Exporting: Export your mods to a shareable string that can be imported by other users.
  • Mod Updating: Update mods to the latest version available on the moddb.

Project Structure

📦 VintageModManager
├─ .github
│  └─ workflows
│     ├─ formatter.yml
│     └─ test.yml
├─ .gitignore
├─ Cargo.lock
├─ Cargo.toml
├─ LICENSE
├─ readme.md
└─ src
   ├─ api
   │  ├─ client.rs
   │  ├─ mod.rs
   │  ├─ mod_api_response.rs
   │  ├─ mod_info.rs
   │  └─ query.rs
   ├─ main.rs
   └─ utils
      ├─ cli.rs
      ├─ config.rs
      ├─ encoding.rs
      ├─ files.rs
      ├─ logger.rs
      ├─ mod.rs
      └─ system.rs

©generated by Project Tree Generator

Installation

To build and run the project, you need to have Rust installed. You can install Rust by following the instructions on the official Rust website.

  1. Clone the repository:

    git clone https://github.com/yourusername/VintageModManager.git
    cd VintageModManager
  2. Build the project:

    cargo build
  3. Run the project:

    cargo run

Usage

The application is currently in development, and the CLI is subject to change.

To start download the newest version of the cli from the releases page

To see the available commands and options, run the following command:

VintageModManager --help

or the shorthand

VintageModManager -h

All commands have their own help page, which can be accessed by running the command with the --help flag.

VintageModManager <command> --help

Examples

To export your mods to a shareable string:

VintageModManager export

To import mods from a shareable string:

VintageModManager download <mod_string>

Where <mod_string> is the string you received from the export command.

To download a mod:

VintageModManager download <mod_id>

Where <mod_id> is the ID of the mod you want to download. This can be found on the moddb page of the mod.

To update a mod:

VintageModManager update <mod_id>

Where <mod_id> is the ID of the mod you want to update. This can be found on the moddb page of the mod.

Note: Default behavior is to update all mods. So unless you specify a mod id, all mods will be updated.

Roadmap

  • Implement interfacing with the Vintage Story moddb API
    • Parsing data with serde
    • Downloading of mods
    • Basic querying of mods
  • Implement mod updating
  • Implement mod exporting
  • Implement mod importing
  • Implement a GUI for the application
    • Implement some form of configuration file for the application
    • Implement some form of caching for mod data, to reduce the number of requests made to the API

Contributing

Contributions are welcome! Please feel free to submit a pull request or open an issue if you have any suggestions or find any bugs.

License

This project is licensed under the MIT License. See the LICENSE file for more details.


Disclaimer: This project is a work in progress, and many features are still being developed. The current implementation may not be fully functional. Use at your own risk.

About

A Mod Manager for Vintage Story

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages