Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Manifest Schema - Add provides #178

Open
N3X15 opened this issue Feb 7, 2024 · 0 comments
Open

Manifest Schema - Add provides #178

N3X15 opened this issue Feb 7, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@N3X15
Copy link

N3X15 commented Feb 7, 2024

Problem description

When forking a mod, it is imperative to change the identifier of the mod or tools like RimSort, RimPy, and (presumably) ModManager will get confused and select one of the mod directories with the same ID, often resulting in the wrong mod being loaded.

However, changing the mod identifier can also result in upstream mods that need to <loadAfter> the original mod freaking out because the mod they're looking for is not present.

Describe the solution

I propose adding a <provides> list to the manifest to signal to mod sorting tools that something is providing the interfaces that downstream mods need.

Alternatives

I haven't seen any alternative proposals that would address this problem.

However, one common-sense solution would just be to wait for all the downstream mods and rulesets to update their `. The issue with this solution is that it does not address stalled or abandoned mods that may take extended periods of time to update their references.

Additional materials

Forked mod:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Manifest>
    <identifier>EvolvedOrgansReduxForkedYetAgain</identifier>
    <version>2.0.1</version>
    <provides>
      <li>EvolvedOrgansRedux</li>
    </provides>
    <dependencies>
        <li>brrainz.harmony</li>
    </dependencies>
    <!--<incompatibleWith>
    </incompatibleWith>-->
    <!--<loadBefore>
    </loadBefore> -->
    <loadAfter>
        <li>brrainz.harmony</li>
    </loadAfter>
    <!--<suggests>
    </suggests> -->
    <showCrossPromotions>true</showCrossPromotions>
    <manifestUri>https://raw.githubusercontent.com/N3X15/EvolvedOrgansRedux/master/About/Manifest.xml</manifestUri>
    <downloadUri>https://github.com/N3X15/EvolvedOrgansRedux/releases</downloadUri>
</Manifest>
@N3X15 N3X15 added the enhancement New feature or request label Feb 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant