-
Notifications
You must be signed in to change notification settings - Fork 38
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
[Suggestion] Support for mods to customize tweaks without dependencies #87
Comments
Hm, does |
I cannot see how adding an annotation to a class would not be a runtime dependency. As far as what a container tag is, any registry in minecraft supports tags. Its just like a block tag or an item tag, but on the container registry. Find the registry closest to the container screens and use tags from that. |
The idea was to have an "api" type dependency with the annotation class, and at runtime Mouse Tweaks checks the annotation presence with reflection. I think a number of other mods also have "api" dependencies that don't require said mods loaded at runtime; it's entirely possible that I did something wrong though. |
The mods that do that annotate a class used nowhere else in their logic (that is, that has no use without the mod the annotation is from). Not annotate a class that the mod cannot run without. For example, JEI annotates a JEI plugin class, not my recipe class or my GUI |
I am going to go ahead and bump this issue again. Adding a container tag is the best way to fix this. |
Do you mind making a pull request? |
It would be quite awhile before I have time to do that as I'm still focused on making my own mod stable right now. You would accomplish it far faster as you know your codebase and where you intended that blacklist. Container menu tags are very straight forward; you just do something like this to query the tag using the container menu instance: https://github.com/SlimeKnights/Mantle/blob/1.20/src/main/java/slimeknights/mantle/util/RegistryHelper.java#L54-L60 (would be easier if Mojang just added a method to fetch a holder given an object). Beyond that, just make a |
Do you have an example mod I could use to test that I did it right? |
You should be able to just add the tag to some vanilla container, e.g. a chest. Registry name is You could use a different registry but I think menu is closest to a screen. If a screen has no menu, then there is not really an equivalent and you'd need a more complex API to allow disabling without a runtime time dependency. |
As suggested here: SlimeKnights/TinkersConstruct#4967 (comment)
It would be nice if mods would be able to apply a container tag rather than needing to include Mouse Tweaks as a dependency. Support for Tinker's Construct is partially broken without this.
The text was updated successfully, but these errors were encountered: