This commit introduces a Component system focused around Games, which is completely
backwards compatible, as well as designed to be flexible enough for later improvements
such as dependency injection. Each GameState is associated with a phase of the
PhasedLifetime that each Game has. Components can be registered with a specific phased
or the entirety of the Lifetime. Refer to the javadocs for Lifetime and PhasedLifetime
for more details. Currently the main two Component types are ICommand and
ListenerComponent.
This commit includes the first refactoring into using this system, which is replacing
the Wizards minigame's usage of Miniplugin with a Lifetimed Component, allowing for
the shop to be appropriately registered and unregistered. This change allows for
Wizards to be run more than once on the same server instance. Previously, attempting
to register the Miniplugin twice would result in the minigame failing to start after
the initial registration.
This commit additionally includes slight refactoring within GameCreationManager as
required for the Lifetime system to function correctly. These changes ensure that
Games are only disabled once, whereas before they could be repeatedly disabled.
The previous implementation of disable(), along with the classes that override it,
functioned correctly despite being called several times.
Finally, this commit adds in changes to the pom to allow for unit testing.
Remove MAC
Add AntiHack Logging
Change thresholds, add notifs, move stuff around
Add warning if check does not exist
Handle multiple bans when ranked TWITCH+
Prevent punishment abuse
* origin/develop: (37 commits)
Implement new sales announcement system in Lobbies and ClansHubs, and remove old Unranked Player Manager
Fix SkyWarrior Kit
Undo my report changes
Set up support server with Thankful Chest tracking and Eternal Rank
Add Cake Mount and implement it in Thankful Chest
Use getName() instead of a String
Enable MountChicken with some small modifications and add it to Thankful Chest
Implement Thankful chest, patch Trick or Treat chest showing as purchasable, make SubscriptionDuration enum public and static, and create a Power Play Reward
Remove MCL and OITQP from the stats page
Take a second crack at fixing invisibility across Arcade and Clans
Properly block placement of redstone-based blocks in Clans
Fix Clans servers not restarting every night, display an uptime notification whenever Clans servers shut down for any reason, and remove unnecessary onDisables from the main ClansManager onDisable
Patch Frozen players in clans spawning CombatLog NPCs when leaving, patch ClansCommandExecutedEvent not always being called, clean up ClanBanner code, and make Freeze System and Nether Manager effectively block Clans Commands (particularly teleportation)
Fix game scoreboards breaking when given more than 15 lines and removed OITQ Payload from the server selection compass GUI
Patch Items with type FEATHER, BONE, or RAW_CHICKEN being automatically instantly removed, patch Carl the Creeper not viewing playwire as an available reward to inform players about, and patch Carl the Creeper not informing players of available rewards on Clans Hubs and Lobbies not included in the main server group
Fix HolidayManager being outdated
Update Enderchest endpoint location
Setup enderchest API
QA changes
More bugs
...
* remotes/origin/develop:
Set up support server with Thankful Chest tracking and Eternal Rank
Add Cake Mount and implement it in Thankful Chest
Use getName() instead of a String
Enable MountChicken with some small modifications and add it to Thankful Chest
Implement Thankful chest, patch Trick or Treat chest showing as purchasable, make SubscriptionDuration enum public and static, and create a Power Play Reward
Remove MCL and OITQP from the stats page
Take a second crack at fixing invisibility across Arcade and Clans
Properly block placement of redstone-based blocks in Clans
Fix Clans servers not restarting every night, display an uptime notification whenever Clans servers shut down for any reason, and remove unnecessary onDisables from the main ClansManager onDisable
Patch Frozen players in clans spawning CombatLog NPCs when leaving, patch ClansCommandExecutedEvent not always being called, clean up ClanBanner code, and make Freeze System and Nether Manager effectively block Clans Commands (particularly teleportation)
Fix game scoreboards breaking when given more than 15 lines and removed OITQ Payload from the server selection compass GUI
Patch Items with type FEATHER, BONE, or RAW_CHICKEN being automatically instantly removed, patch Carl the Creeper not viewing playwire as an available reward to inform players about, and patch Carl the Creeper not informing players of available rewards on Clans Hubs and Lobbies not included in the main server group
# Conflicts:
# Plugins/Mineplex.Core/src/mineplex/core/achievement/AchievementCategory.java
* Added chickens to Holiday Manager (Thanksgiving)
Added TextEffect
Moved all the effects to a different package to make it easier to find
Added method in Effect to get the Effect Location
* Removed(?) wildcard import
* Testing New year thing
Added some symbols to UtilBlockText
* Allow multiple pets with the same EntityType
* Added Stray Morph
Added Shulker Pet
Added code for a possible new year effect
Added Metal Man Morph to the menus
Added Metal Man Morph as an yearly bonus for PPC subscriptions
* Added chickens to Holiday Manager (Thanksgiving)
Added TextEffect
Moved all the effects to a different package to make it easier to find
Added method in Effect to get the Effect Location
* Removed(?) wildcard import
* Testing New year thing
Added some symbols to UtilBlockText
* Allow multiple pets with the same EntityType
* Added Stray Morph
Added Shulker Pet
Added code for a possible new year effect
Added Metal Man Morph to the menus
Added Metal Man Morph as an yearly bonus for PPC subscriptions
* I seriously don't remember what is in this commit, I'm just doing it to
fix the thing with develop...
* Fixed Pet menu
Fixed morph menu
Changed from List to Set
* Changed from PurchasUnknownSalesPackage to AddUnknownSalesPackageOwned
* Added Santa Morph
Removed Sleigh Morph
Changed all the cosmetics GUIs to start on the second row, instead of the first
* Changed some stuff from Holiday Manager so now chickens will walk around when spawned
* Added sound effects to Metal Man
Added slowness to Metal Man
* Added new lore for the Metal Man Morph description
Added Stray Morph Ability
Fixed some problems with the Thanksgiving Chickens
* Added Fated giveaway manager and animation
Moved titan and fated giveaway managers to a new package
* Fixed lores for Stray morph and Shulker pet
Changed ability of Stray morph
* Removed Stray and Shulker pet from the menu
Deleted Pet class since it was not being used
Changed position of achievement on the menu
Changed color of chicken's name
Changed colors of Power Play message
Stray morph, Santa morph and Shulker pet are hidden from the menus for now
Removed feathers dropping from chickens, changed them to snow particles
* Added hover ability to Metal Man Morph
* Fixed some stuff on Metal Man
* Removed all the halloween related items:
- Haunted chests can only be opened if player already had ammo
- Removed Halloween theme from the hub
- Removed pumpkins from in-game
* Added Halloween items to the Omega Chest
* Fixed weight for items in the omega chest
* Changed Disk to Disc in RewardManager
Changed values for omega rarities
* Final commit (removed win room test command)
* Removed Halloween words from Draw My Thing and Master Builders
* Fix some bugs, improve Skyfall and add Skyfall Teams
* re-enable debug
* Fix Perks not being unregistered from the EventHandler
* Remove unused import
* Remove unused imports
* Implement trick or treat chest in customer support server
* Add several new reward types, implement trick or treat chest and all its animations, and fix playwire nested threads
- Increased the time needed for the Wind Up suit to be charged
- Added effect for the Wind Up suit to blink between yellow and red when the effect is active