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

Provide Mixin as an optional project configuration #16

Open
Zidane opened this issue Jan 28, 2021 · 4 comments
Open

Provide Mixin as an optional project configuration #16

Zidane opened this issue Jan 28, 2021 · 4 comments
Labels
type: enhancement New feature or request
Milestone

Comments

@Zidane
Copy link
Member

Zidane commented Jan 28, 2021

Not looking for this project, outside of something optional, to be a mod development kit but since Mixin is so popular, we should provide a "path of least resistance" to getting Mixin up and manipulating classes.

Could replace MixinGradle usage in it's entirety for SpongeVanilla's usecase.

@Zidane
Copy link
Member Author

Zidane commented Jan 28, 2021

If I recall, I think you had some ideas here @zml2008 .

@Zidane Zidane added the type: enhancement New feature or request label Jan 28, 2021
@zml2008
Copy link
Member

zml2008 commented Jan 28, 2021

We don't do any remapping yet, so I don't think we'd get much benefit out of the AP, but what this submodule could do would be:

  • Create the separate mixin/accessor source sets
  • Configure the Mixin java agent on run configurations

Eventually, this could be extended to provide an obfuscation service for the Mixin AP to use.

@zml2008
Copy link
Member

zml2008 commented Mar 17, 2021

Another feature that would be nice: add a gradle task to automatically sort Mixin class names alphabetically in the src/*/resources/*.mixins.json files

@zml2008 zml2008 added this to the 0.3 milestone Apr 27, 2021
@zml2008
Copy link
Member

zml2008 commented Dec 18, 2022

A further potentially useful tool:

Generate a diff from vanilla decompile to the classes produced by -Dmixin.debug.export=true

This would:

  • execute some run task with the export enabled
  • run the decompiler on those files with appropriate classpath
  • diff to the existing vanilla sources

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants