PGM icon indicating copy to clipboard operation
PGM copied to clipboard

Support for Community

Open applenick opened this issue 4 years ago β€’ 5 comments

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:

  1. Clone the Community branch of PGM
  2. 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]

applenick avatar Nov 21 '20 20:11 applenick

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 avatar Dec 07 '20 18:12 Electroid

@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.

applenick avatar Dec 07 '20 23:12 applenick

Let's rebase to dev

Electroid avatar Dec 18 '20 13:12 Electroid

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.

applenick avatar Jan 08 '21 09:01 applenick

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 🀣

applenick avatar Oct 02 '22 18:10 applenick

Closed in favor of #1111 🀞

applenick avatar Dec 11 '22 08:12 applenick