Giter Club home page Giter Club logo

modanalyzer's Introduction

ModAnalyzer - a tool for analyzing Minecraft mods and resolving conflicts

Got a bunch of mods you want to use together, but you keep getting ID conflicts? Want to know what content is in a mod before installing it, or browse the available mods for the kind of content you're looking for? ModAnalyzer might be able to help.

ModAnalyze is split into several parts:

  • a Minecraft mod to load along with the mods you want to analyze
  • a driver script modanalyzer.py to mass analyze mods and filter the results
  • a utility script modlist.py to view a summary of the analysis results by ID
  • finally, modresolve.py to install the mods and automatically edit configs to resolve conflicts

Usage:

  1. download a ton of mods, and place them in the "allmods" folder
  2. run modanalyze.py and it should setup a test server and analyze each mod, placing gathered results in "data" and "configs"
  3. run modresolve.py to configure a test server with all the mods installed in "temp-server"

Conflict resolution is not 100%, since some mods configuration is not easily programmatically configurable (or at all).

The script will show you what IDs could not be changed, and you can edit them manually. Copy the contents of "temp-server" to your real server, make the edits, then copy the same contents to the client, making any needed changes or additions.

If there are too many irresolvable conflicts, you can edit "priority.txt" and reorder the mods, higher first, to take precedence when choosing which mod to move. By default, mods with more content will have higher priority. Note that re-running modresolve.py will erase the mods and configs in "temp-server", regenerating from scratch.

To use only a subset of mods in your allmods folder, edit "include.txt". This file is generated on first run of modresolve, including all mods by default, but you can change it to include only the mods you want, as an alternative to deleting mods from allmods.

To use preferred block and item IDs from another installation, save an NEI dump (Not Enough Items > Options > Block/Item ID Settings > Dump ID Map Now) in the root directory before running modresolve.

Examples:

  • AAConfigPack - generated with ModAnalyze (few manual changes), 83 mods on Minecraft 1.5.1

Released as open source under the BSD license, redistribution, changes, forks, pull requests, etc. welcome.

Build Status

modanalyzer's People

Contributors

agaricusb avatar alisonjenkins avatar odininon avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.