Releases: RagingTech/NetworkJoinMessages
Releases · RagingTech/NetworkJoinMessages
v3.6.1
v3.6.0
New Features
- Adds support for notifying players with vanish permissions on silent movement, in addition to holders of
networkjoinmessages.silentwhenNotifyAdminsOnSilentMoveis enabled (#54 #56)OtherPlugins.SayanVanish.NotifyVanishEnabledPlayersOnSilentMove&OtherPlugins.PremiumVanish.NotifyVanishEnabledPlayersOnSilentMove- required for players with vanish permissions (SayanVanish or PremiumVanish) to receive silent message notificationsOtherPlugins.PremiumVanish.NotifyRespectVanishLevels- when enabled, only players whose vanish level meets or exceeds the silent player's level will receive the notification (#53)OtherPlugins.PremiumVanish.MaxLevel- configures the maximum PremiumVanish vanish level used whenNotifyRespectVanishLevelsis enabled (#60)
Development
- Converts
CorePlayerto an abstract class and applies Lombok for clarity and consistency (#55 #58)setDisconnectingnow requires a boolean argumentgetPremiumVanishHiddenhas been renamed toisPremiumVanishHidden
- Adds several test files covering broadcast, player, storage, and util packages (#59)
- broadcast (60 tests):
MessageFormatterTest,ReceiverResolverTest - player (57 tests):
LeaveJoinBufferManagerTest,PlayerStateStoreTest,SilenceCheckerTest - storage (42 tests):
TextPlayerJoinTrackerTest, modifiesH2PlayerJoinTrackerTest - util (80 tests):
LegacyColorTranslatorTest,PremiumVanishLevelUtilTest
- broadcast (60 tests):
Shoutout to @MauriceNino for helping so much with testing!
Related PR: #57
v3.5.1
Improvements
- Fixes an issue where players with the PremiumVanish permission,
pv.joinvanished, would be set to vanished in NJM upon swapping or leaving whenTreatVanishedOnJoinwas enabled (#49) - Fixes an issue where spoof messages would be automatically dispatched even when a player was NJM silent due to them changing their PremiumVanish vanish state (#50)
Related PR: #51
v3.5.0
New Features
- Overhauls the
/njointogglecommand, enabling it to be ran against a target player and adding console support (#35)- Adds a new permission node:
networkjoinmessages.toggle.others- allows the holder the ability to change a target player's message state - Tab completion for the new player argument respects the
toggle.otherspermission and omits silent/vanished players - Adds three new configuration keys for command responses:
TargetNotFound- sent when the player specified in the toggle join command is unknownMustSpecifyPlayer- sent when the player is omitted and the command was issued from consoleConfirmationOther- sent when the command was successfully ran against a player who was not the issuer
- Adds a new permission node:
- Adds persistent player data, storing silent state and message toggle states to be restored on next start
- Adds new storage types:
SQLandTEXTTEXT- only available for first join storage, stores entries line-by-line asUUID:nameSQL- stores data in amysql,mariadb, orpostgresqlSQL server- requires SQL connection information be provided in the designated configuration block
- Downloads the required driver upon initial utilization
- Adds new configuration options
IgnoreJoinByDefault,IgnoreSwapByDefault,IgnoreLeaveByDefaultto set players default message states
Improvements
- Resolves all expected placeholders from the Discord config messages
- Fixes the cached leave message updating twice instead of once upon reload
- Fixes a bug with uppercase server name aliases (bc77fc5)
- Makes Discord messaging and message construction more efficient
- Ensures thread safety everywhere known
- Fixes a bug preventing the replacement of
%playercount_server%in leave dependent messages (45f8249)
Development
- Removes local SayanVanish dependency
- Adds local Velocity proxy dependency (LimboAPI)
- New bStats charts:
first_join_storage_type,player_data_storage_type,ignore_join_default,ignore_swap_default,ignore_leave_default
Related PR: #38
v3.4.0
New Features
- Adds an optional leave/join buffer to prevent players with a weak internet connection from spamming leave/join messages
- Adds another new configuration key:
OtherPlugins.PremiumVanish.TreatVanishedOnJoinwhich is to be used in conjunction with the backend PremiumVanish configuration key:VanishStateFeatures.AutoVanishOnJointo ignore players that join with thepv.joinvanishedpermission (#33 e92362d)
Improvements
- Fixes a memory leak caused by never removing canceled tasks from the Velocity task list (8e6153a) (8eb44ee)
Development
- Makes the SayanVanish API a local dependency due to the repository being unavailable
Related PR: #34
v3.3.0
New Features
- Added three new configuration keys:
OtherPlugins.PAPIProxyBridge.RequestTimeout: allows configuring the PAPIProxyBridge maximum request time in millisecondsOtherPlugins.PremiumVanish.SpoofJoinMessageOnShow: whether to automatically send a spoof join message when a player shows themselvesOtherPlugins.PremiumVanish.SpoofLeaveMessageOnHide: whether to automatically send a spoof leave message when a player hides themselves
Improvements
- Finally finalizes and verifies tested PremiumVanish support. Huge thanks to the developer @LeonMangler for their help and guidance.
- Fixes
NullPointerExceptiondue to the legacy retrieval of keysNoMoreArgumentsNeededandNoPermission
As always, if you encounter any issues with this version please report them immediately via creating a new issue.
Related PR: #31
v3.2.0
New Features
- Added a cache system to enable the use of PlaceholderAPI placeholders via PAPIProxyBridge in leave network messages
- Added a new configuration key
Settings.LeaveNetworkMessageCacheDuration- This key designates how long before the cached leave message will update with the default being 45 seconds
Improvements
- Fixed a rare duplicate leave message issue #29
Related PR: #30
v3.1.0
New Features
- Added support for SayanVanish! (92592e0) #28
Important
If you use MiniPlaceholders, you must use version 1.7.1-b289 of SayanVanish or later.
Improvements
Development
- Migrated from Maven to Gradle (06398ea)
- Implemented Lombok (15c9d97) #25
- Added Blossom to dynamically get the plugin version for Velocity (b738dfe)
Related PR: #27
v3.0.0
New Features
- Now supports MiniPlaceholders v3! Older versions are no longer supported. Make sure your other plugins support MiniPlaceholders v3 and you are using MiniPlaceholders v3 before updating. #23 (e4fa3c4)
Improvements
- Fixes an issue in which a false leave message was being sent due to a player joining the server with multiple sessions #21 (bfe2526)
- Huge optimizations for a much faster and smoother experience
- Adds a debug utility with useful messages
- Naming consistency everywhere for swap and leave messages to avoid confusion
- FakeMessage was renamed to Spoof to more accurately describe the command
- Corresponding permission was renamed:
networkjoinmessages.fakemessage->networkjoinmessages.spoof
- Corresponding permission was renamed:
- Command consistency, as the only commands offered are now:
/njoinreload/njointoggle/njoinimport/njoinspoof
See the README or Spigot page for more information on usage.
- Fixes a lot of broken command logic
- Adds some custom bStat charts to see how configuration options are being used
- Improves configuration defaults and converts them to MiniMessage format
- Custom events are now actually called on BungeeCord
- Custom events are now utilized for Discord integration
- A good example should someone want to use the API for their own purposes
- Dynamically loads Discord integration depending on it being enabled in the configuration
Development
- Irradicated the general folder from all three main directories
- Separated methods from
MessageHandlerinto a new classFormatter - Consolidated all configuration options into
Storage - Refactored numerous methods for clarity and optimization #22
- Refactored the entire plugin to use dependency injection
- Created tests for the
Formatterclass (works toward #14) - Several file renames for conciseness and clarity
As always, if you encounter any issues with this version please report them immediately via creating a new issue.
Related PR: #24