PGM
PGM copied to clipboard
Support for Community
Community
Update: July 10, 2022
A complete redesign of Community is in the works! Goal will be to clean up the codebase and reduce the complexity that has arisen from countless changes being applied overtime. I foresee it being done by the end of 2022 π Perhaps then we'll be able to get this merged!
Update: December 4th, 2021
Wow! This branch has been in-dev for over a year π. Unfortunately, due to the dire need of the contained features on Overcast Community , this PR has become rather messy over time. Massive refactoring will have to take place, likely introducing little features here and there until complete. That being said, this branch of PGM is the primary one in use on Overcast Community and is generally stable. If you wish to run this version of PGM follow these steps:
- Clone the Community branch of PGM
- Build the community branch with
mvn clean install
If you have any questions please feel free to ask in the PGMDev discord.
β Learn more about Community β
The following information may be outdated, but is preserved from the original PR in November 2020
Overview
The long awaited Community plugin is almost ready! In order for it to function properly, I've made a number of PGM changes required to support it. I believe most of these changes should be straightforward and make sense in the long term.
Due to this PR containing a large number of changes, I'll highlight the two most notable ones below:
Removal of Moderation Commands & Reports :warning:
Preparing for the release of Community, we are removing most moderation commands from PGM. The exception to this will be freeze & vanish, which have been moved to new homes within PGM. Vanish to tc.oc.pgm.vanish
and has been given a configuration option, while FreezeMatchModule
is now located with other match modules. The PlayerVanishEvent
has been moved as well (in case any third party plugins were listening to this event). Some commands such as /staff
which was located inside of the moderation commands class have been saved, as they are still relevant and fit nicely with PGM.
Reports have also been removed from PGM and will now be located in the Community plugin.
When moderation commands were originally added to PGM earlier this year, it was always meant as a temporary solution. Now with Community, we have a dedicated plugin that will work together with PGM and allow us to simplify things and properly handle scope. This is why moderation commands & reports have been completely removed instead of working to keep a default implementation.
Friend Support :heart:
With this PR comes the return of friends to PGM. The main features related to friends include
- friend only death messages
- friend only join messages
- friend only visible observers
- italicized names in the tablist
No friend commands or persistence of friends will be located in PGM. External plugins (such as Community) will make use of the new FriendProvider
api in order to let PGM know who your friends are. I believe this keeps friends within scope of PGM and will be an appreciated feature to all users.
Feedback
As always, I welcome feedback of any kind and will work to accommodate suggestions when possible. Within the coming days these changes will be coming to OCC to act as a showcase of what the Community plugin can do.
Repo
Visit the Community repo to learn more about the project
Signed-off-by: applenick [email protected]
Going to hold this until we get the refactor/adventure
stuff in, but excited that this is almost ready to go. Maybe you can rebase to that branch?
@Electroid Excellent, yeah Iβd rather wait for that to merge first too π Sure thing will start rebase to that branch. Last major change Iβd like to add to this branch before getting it merged would be nick-name support. Will let you know once more progress has been made on that πIf itβs too much can always split up into a different PR, but will see how many changes are required.
Let's rebase to dev
I've been continually rebasing this, perhaps it's time to get this merged π @Electroid if you have any suggestions let me know and I'll fix it asap, otherwise should be fine. We've been running this branch on OCC for over a month and no issues.
Update: A major refactor is now in progress π§
Will be reviewing all previous changes and cleaning up to finally get this PR merged. Started by squashing all previous commits into a single one, so new changes will be easier to see.
Spoke with Electroid and we're going to try and remove many of the unnecessary changes that have accumulated over time. Call from community will no longer go through the Integration
interface, instead opting to call methods directly.
Expect to see some progress being made over the next few weeks! Setting a soft due-date of November 1st, hopefully we can get this done before the 3 year anniversary of this PR π€£
Closed in favor of #1111 π€