Skip to content

Releases: RagingTech/NetworkJoinMessages

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

v2.3.1

08 Aug 20:54
bbb64af

Choose a tag to compare

Improvements

Development

  • Implements a correct CorePlayer object lifecycle (#18 00ea161)

Related PR: #19

v2.3.0

17 Jul 19:05
2fe11aa

Choose a tag to compare

New Features

  • First join messages (#4 5ce147c)
  • New command /njoinimport <usercachepath> [usercachepaths...]
    • Imports all users in a backend server's user cache to the 'joined' database so that they will not trigger first join messages (b12fe4f)
  • Discord webhook first join messages
  • MiniPlaceholders support
  • Multiple variants of all four message types (server-swap, first-join, join, and leave) chosen at random (#11 45d43b9)
  • Potential LimboAPI support (#15 0213d5d)

Improvements

  • MAJOR FIX: Fixes PlaceholderAPI placeholders parsing against the message target instead of the correct parse target
  • Fixes discord.yml not fully reloading upon issuing the /njoinreload command
  • discord.yml now parses PlaceholderAPI and MiniPlaceholders
  • Includes bStats for anonymous usage data

Development

  • Numerous duplicate code refactors - reduction of duplicate code
  • Bumps java version to 21
  • Added dependencies for JUnit, Mockito, Velocity Proxy, Bungee bStats, Velocity bStats.
  • Adds tests for the joined players database and tests for the import command
  • Updated JavaDiscordWebhook dependency to version 1.2.0

Related PR: #13