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

Runtime remapping for plugins on SpongeForge #3889

Open
zml2008 opened this issue Sep 2, 2023 · 0 comments
Open

Runtime remapping for plugins on SpongeForge #3889

zml2008 opened this issue Sep 2, 2023 · 0 comments
Labels
status: needs triage This label is automatically applied to new issues and pull requests to indicate they require triage type: feature request A feature request

Comments

@zml2008
Copy link
Member

zml2008 commented Sep 2, 2023

Is this request specific to one implementation of Sponge?

Yes, only SpongeForge

Sponge Version

api 9+

What are you requesting?

SpongeForge runs on forge which uses SRG runtime mappings. SpongeVanilla uses mojang mappings at runtime.

This causes problems for plugins which access server internals, since they have to produce separate artifacts.

We should be able to:

  1. have plugins declare the mappings they use
  2. download mojang mappings at runtime to create moj -> srg
  3. compare mappings of each plugin to the current game runtime
  4. if mappings do not match, remap the plugin jar

Challenges:

  • caching - so we don't have to remap every plugin every launch
  • cache cleanup of unused remapped jars (anything unused? is that too aggressive)
  • mixins - we'd need to have a (F)?ART plugin to remap mixins, or a refmap remapper plugin plus generate refmaps at plugin build
@zml2008 zml2008 added type: feature request A feature request status: needs triage This label is automatically applied to new issues and pull requests to indicate they require triage labels Sep 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: needs triage This label is automatically applied to new issues and pull requests to indicate they require triage type: feature request A feature request
Projects
None yet
Development

No branches or pull requests

1 participant