You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I would like to enhance abstraction within the project and facilitate better organization, the proposed restructuring involves splitting the current project into three distinct components (without changing package names of course). Any feedback is welcome maybe this is a dumb idea I don't know.
Structure
core/common project: This component will encompass the fundamental elements of ProtocolLib, serving as the foundation for other modules. It will include essential functionalities such as reflection, utility classes, injection mechanisms, and the packet type system.
wrappers: This module will house any wrapper-related functionalities that are not directly tied to injection processes. It aims to encapsulate all wrapper-specific functionalities for easier maintenance and separation of concerns.
plugin: This segment will encompass features such as commands, metrics, and update services. It will serve as the interface layer, interacting with the core functionalities and wrappers.
Benefits:
Improved Abstraction
Easier Maintenance (hopefully)
Clear Separation of Concerns
The text was updated successfully, but these errors were encountered:
Personally, I would be interested in a module that explicitly includes api (everything a developer should use) an no implementation at all to set a clear boundary between methods for external use and methods for internal use.
I would like to enhance abstraction within the project and facilitate better organization, the proposed restructuring involves splitting the current project into three distinct components (without changing package names of course). Any feedback is welcome maybe this is a dumb idea I don't know.
Structure
core/common project: This component will encompass the fundamental elements of ProtocolLib, serving as the foundation for other modules. It will include essential functionalities such as reflection, utility classes, injection mechanisms, and the packet type system.
wrappers: This module will house any wrapper-related functionalities that are not directly tied to injection processes. It aims to encapsulate all wrapper-specific functionalities for easier maintenance and separation of concerns.
plugin: This segment will encompass features such as commands, metrics, and update services. It will serve as the interface layer, interacting with the core functionalities and wrappers.
Benefits:
The text was updated successfully, but these errors were encountered: