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

[Suggestion] Support for mods to customize tweaks without dependencies #87

Open
MarioSMB opened this issue Aug 9, 2022 · 4 comments
Open
Labels
enhancement New feature or request

Comments

@MarioSMB
Copy link

MarioSMB commented Aug 9, 2022

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.

@YaLTeR
Copy link
Owner

YaLTeR commented Aug 9, 2022

Hm, does @MouseTweaksDisableWheelTweak really require Mouse Tweaks to be loaded at runtime? I've seen a few mods use it, surely they wouldn't if it required Mouse Tweaks... That said I honestly have very little idea how to do this properly (or what a Container tag is) so maybe there's some example I could follow and some test mod with which I could test that I got it right?

@KnightMiner
Copy link

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.

@YaLTeR YaLTeR added the enhancement New feature or request label Aug 9, 2022
@YaLTeR
Copy link
Owner

YaLTeR commented Aug 9, 2022

I cannot see how adding an annotation to a class would not be a runtime dependency.

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.

@KnightMiner
Copy link

KnightMiner commented Aug 9, 2022

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

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

3 participants