Skip to content

Releases: RagingTech/NetworkJoinMessages

v3.6.1

30 May 02:40
518df4d

Choose a tag to compare

Improvements

  • Fixes a critical issue introduced in 3.6.0 (f4681e2) causing leave messages to always be silent
  • Ensures that a limbo plugin exists on the proxy for fromLimbo to be true

Related PR: #65

v3.6.0

23 May 00:26
b6f3315

Choose a tag to compare

New Features

  • Adds support for notifying players with vanish permissions on silent movement, in addition to holders of networkjoinmessages.silent when NotifyAdminsOnSilentMove is enabled (#54 #56)
    • OtherPlugins.SayanVanish.NotifyVanishEnabledPlayersOnSilentMove & OtherPlugins.PremiumVanish.NotifyVanishEnabledPlayersOnSilentMove - required for players with vanish permissions (SayanVanish or PremiumVanish) to receive silent message notifications
    • OtherPlugins.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 when NotifyRespectVanishLevels is enabled (#60)

Development

  • Converts CorePlayer to an abstract class and applies Lombok for clarity and consistency (#55 #58)
    • setDisconnecting now requires a boolean argument
    • getPremiumVanishHidden has been renamed to isPremiumVanishHidden
  • 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, modifies H2PlayerJoinTrackerTest
    • util (80 tests): LegacyColorTranslatorTest, PremiumVanishLevelUtilTest

Shoutout to @MauriceNino for helping so much with testing!

Related PR: #57

v3.5.1

18 Apr 18:27
a60ae69

Choose a tag to compare

Improvements

  • Fixes an issue where players with the PremiumVanish permission, pv.joinvanished, would be set to vanished in NJM upon swapping or leaving when TreatVanishedOnJoin was 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

19 Mar 03:52
5e4f1ee

Choose a tag to compare

New Features

  • Overhauls the /njointoggle command, 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.others permission 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 unknown
      • MustSpecifyPlayer - sent when the player is omitted and the command was issued from console
      • ConfirmationOther - sent when the command was successfully ran against a player who was not the issuer
  • Adds persistent player data, storing silent state and message toggle states to be restored on next start
  • Adds new storage types: SQL and TEXT
    • TEXT - only available for first join storage, stores entries line-by-line as UUID:name
    • SQL - stores data in a mysql, mariadb, or postgresql SQL 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, IgnoreLeaveByDefault to 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

26 Jan 04:36
4ab24db

Choose a tag to compare

New Features

  • Adds an optional leave/join buffer to prevent players with a weak internet connection from spamming leave/join messages
    • The buffer duration is configurable via the new configuration key: Settings.LeaveJoinBufferDuration (#32 2d63c54)
  • Adds another new configuration key: OtherPlugins.PremiumVanish.TreatVanishedOnJoin which is to be used in conjunction with the backend PremiumVanish configuration key: VanishStateFeatures.AutoVanishOnJoin to ignore players that join with the pv.joinvanished permission (#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

08 Dec 02:30
22981bb

Choose a tag to compare

New Features

  • Added three new configuration keys:
    • OtherPlugins.PAPIProxyBridge.RequestTimeout: allows configuring the PAPIProxyBridge maximum request time in milliseconds
    • OtherPlugins.PremiumVanish.SpoofJoinMessageOnShow: whether to automatically send a spoof join message when a player shows themselves
    • OtherPlugins.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 NullPointerException due to the legacy retrieval of keys NoMoreArgumentsNeeded and NoPermission

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

03 Nov 05:23
275fbf6

Choose a tag to compare

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

29 Sep 04:31
7501f12

Choose a tag to compare

New Features

Important

If you use MiniPlaceholders, you must use version 1.7.1-b289 of SayanVanish or later.

Improvements

  • Prevents a null server error from occurring when a backend server was offline (2a5ea9c) #26

Development

Related PR: #27

v3.0.0

20 Sep 22:36
af508c9

Choose a tag to compare

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
  • 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 MessageHandler into a new class Formatter
  • 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 Formatter class (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

v2.3.2

22 Aug 18:40
5eb10bf

Choose a tag to compare

Improvements

  • Fixes null player error on failed connection attempts (6dca98e)

Related PR: #20