Skip to content

Compat package organization#2168

Merged
Yesssssman merged 1 commit intoEpic-Fight:1.21.1from
EchoEllet:refactor/compat-package-organization
Nov 5, 2025
Merged

Compat package organization#2168
Yesssssman merged 1 commit intoEpic-Fight:1.21.1from
EchoEllet:refactor/compat-package-organization

Conversation

@EchoEllet
Copy link
Contributor

@EchoEllet EchoEllet commented Nov 4, 2025

This refactoring moves files from compat.${mod_name}Compat to compat.${mod_name}.${mod_name}Compat.

This change allows us to keep everything related to a mod’s compatibility in a single package.

For example, we may need to use ICompatModule with a mixin too. With the current structure, related files are spread across different packages, even though they belong to the same mod:

  • mixin.${mod_name}
  • compat.${mod_name}Compat

They should instead be grouped in one package, which also includes the mixins, registered only if the mod is installed.
This approach is more scalable and allows related classes to be grouped under the same domain.

To keep the review simple, I’ll include this refactoring in a separate PR.

Regarding backporting this change to 1.20.1: there’s one mod that modifies PlayerAnimatorCompat, so they’ll need to update the import (one line).

Tip

Technically, they’re mixing into an internal Epic Fight API.
I could submit a PR to their mod to fix the issue after releasing for 1.20.1, or we could skip backporting this change for that version — though that would lead to more inconsistencies over time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants