Closed AlexIIL closed 2 years ago
One alternative to the proposed schema would be to alternate between "ANY" and "ALL" in each layer of array - starting at ANY for depends, and ALL for breaks. I don't think it would make the implementation any more complicated, but it might make displaying it a bit more difficult.
One alternative to the proposed schema would be to alternate between "ANY" and "ALL" in each layer of array - starting at ANY for depends, and ALL for breaks. I don't think it would make the implementation any more complicated, but it might make displaying it a bit more difficult.
I think that such behavior would be seldom used and very unexpected to somebody who hasn't read the specification. For that reason alone, I don't think it's necessary, and that the changes proposed in the PR itself are adequate.
Alternation between any and all feels confusing imo.
I've updated this to clarify that I'm not changing the behaviour of "unless" dep objects, for deps or breaks.
Sorry, I didn't realise this had conflicts :(
Ah, fortunately it was just a file move. This should be mergeable now.
Providing a range of versions means we have to compare version ranges with each other, which makes little sense.
Currently an array in a breaks field is no different to just specifying them separately, unlike for dependencies - so this tweaks that behaviour to allow specifying a break if all of the matching mods are found. For example:
Example A:
Example B:
In the current schema both example A and B would have the same effect - if any of the three mods are present then the game won't load. In this proposed schema then example A would only fail to load if both "better-than-buildcraft" and "buildcraft-transport" were present.