Skip to content

Refactor project architecture#204

Merged
Dreeam-qwq merged 8 commits intomasterfrom
cleanup/merge
Mar 18, 2026
Merged

Refactor project architecture#204
Dreeam-qwq merged 8 commits intomasterfrom
cleanup/merge

Conversation

@Dreeam-qwq
Copy link
Member

Merged legacy and modern modules for better maintenance. The separated legacy and modern modules are for dealing with the different APIs changed between Spigot and Paper. However, it becomes a huge problem synchronizing changes between two modules if some major changes happen.

Instead, for now, only methods using the API that have changed between Spigot/Paper versions are isolated from the main module, as "NMS" modules. Treats 1.12.2 as the base version, only APIs changed in further versions will be moved to the new module, based on the last "NMS" version module, and override. This practice can prevent copy pasting the exact same methods in every "NMS" version module, and still, easier for maintenance.

Changes

  • Merge legacy and modern modules
  • Use snake_case for Gradle module name to follow the naming convention
  • Update to JAVA 21
  • Move adventure to Spigot's runtime dependency loader (No need to relocation/include)
  • Separate PR build workflow
  • Fixed grammar errors
  • Codebase cleanup

This refactor also fixed other related chained problems

  • Unable to send messages on Spigot platforms
  • Fixed wrong item display name in Spigot & <= 1.20.5 Paper
  • Fixed wrong item display name (has a white bracket, which is inconsistent with the view in player inventory)
  • Fixed biome and %distance% placeholders are not working
  • Fixed wrong formatted biome name

Known issue:

  • Item hover display will not show the correct item NBT/component display on Spigot 1.20.5+. However, I'm not very interested in fixing this, better to use Paper for a better experience.

- Merge legacy and modern modules
- Use snake_case for Gradle module name to follow the naming convention
- Update to JAVA 21
- Move adventure to spigot's runtime dependency loader (No need to relocation/include)
- Fixed grammar errors
- Code base cleanup

This refactor also fixed other related chained problems
- Unable to send messages on Spigot platforms
- Fixed wrong item display name in Spigot & <= 1.20.5 Paper
- Fixed wrong item display name (has white bracket, it's inconsistent with the view in player inventory)
@Dreeam-qwq Dreeam-qwq merged commit 6b77767 into master Mar 18, 2026
1 check passed
@Dreeam-qwq Dreeam-qwq deleted the cleanup/merge branch March 18, 2026 16:19
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.

1 participant