Skip to content

Conversation

@codeOwlAI
Copy link
Owner

@codeOwlAI codeOwlAI commented Jun 29, 2025

PR Summary

API Enhancements and New Provider Implementation

Overview

This PR introduces several API enhancements across multiple modules including a nickname regex configuration, user activity tracking, Discord message formatting, and a new command synchronization provider for Bukkit 1.21.4+.

Change Types

Type Description
Enhancement Added nickname regex validation capability
Enhancement Added user last activity time tracking
Enhancement Improved hex color handling
Enhancement Added Discord PM message formatting
Enhancement Added modern command synchronization provider for 1.21.4+

Affected Modules

Module / File Change Description
src/main/java/com/earth2me/essentials/ISettings.java Added nickname regex method declaration
src/main/java/com/earth2me/essentials/Settings.java Implemented nickname regex pattern configuration
src/main/java/com/earth2me/essentials/User.java Added last activity time getter
src/main/java/com/earth2me/essentials/signs/SignBuy.java Added import for transaction event
src/main/java/com/earth2me/essentials/signs/SignSell.java Added import for transaction event
src/main/java/com/earth2me/essentials/utils/AdventureUtil.java Modified hex color handling
src/main/java/net/essentialsx/discord/DiscordSettings.java Added private message format for Discord
BaseProviders/.../ModernSyncCommandsProvider.java Implemented provider for Bukkit 1.21.4+ command sync

Notes for Reviewers

  • The new ModernSyncCommandsProvider includes a test method to verify compatibility with Bukkit 1.21.4+
  • Changes to hex color handling include an unconditional call alongside existing conditional implementation

JRoy and others added 25 commits March 1, 2025 13:59
Unclear how this happens, possibly a division error?

Fixes EssentialsX#6043
On 1.21.4+ Player#updateCommands has the same logic as CraftServer#updateCommands, so we can just use that.
1.21 Adds a new org.bukkit.spawner.Spawner class as a superclass of CreatureSpawner which now contains the setMaxSpawnDelay method. Change our test to look for the method on any superclasses too.
Co-authored-by: Josh Roy <10731363+JRoy@users.noreply.github.com>
This allows EssentialsX Discord to send EssentialsX Chat messages to
Discord when `use-essentials-events: true` is set in the Discord config
while local chat is disabled.

It also allows plugins to hook and modify EssentialsX Chat message
contents, formatting and recipients when local chat is disabled.
Need to explicitly enable them in our LegacyComponentSerializer.
Co-authored-by: MD <1917406+mdcfe@users.noreply.github.com>
Fixes an issue for API consumers getting Adventure in our exception messages.
Co-authored-by: MD <1917406+mdcfe@users.noreply.github.com>
Migrate the few typo fixes from Crowdin's English US translation into the source messages.properties file (which is also English US).
Co-authored-by: MD <1917406+mdcfe@users.noreply.github.com>

This PR significantly overhauls the comments of the EssentialsX configuration files, ensuring consistency, clarity, and overall improved grammar (validated by Grammarly and LLMs). There are still a few things that must be completed before this is ready to be merged, but no further significant changes are expected. A couple of options have been moved entirely to make more logical sense, but this will not affect any compatibility.
Co-authored-by: MD <1917406+mdcfe@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.