1.3.1latestApr 9, 2026 v1.3.0 This pull request updates the build tooling and dependencies to keep the project up-to-date and compatible with recent versions. The main changes are version bumps for the plugin, Paper platform, and Gradle itself. Dependency and tooling updates: * Bumped thepluginVersionfrom1.3.0to1.3.1and updated thepaperVersionfrom1.21.8to1.21.11ingradle.propertiesto ensure compatibility with the latest Paper server releases. * Upgraded the Gradle wrapper from version8.11.1to8.14.4ingradle/wrapper/gradle-wrapper.propertiesto use the latest Gradle features and bug fixes.1.3.1-ALPHA.14Apr 9, 2026 v1.3.1 This pull request updates the build tooling and dependencies to keep the project up-to-date and compatible with recent versions. The main changes are version bumps for the plugin, Paper platform, and Gradle itself. Dependency and tooling updates: * Bumped thepluginVersionfrom1.3.0to1.3.1and updated thepaperVersionfrom1.21.8to1.21.11ingradle.propertiesto ensure compatibility with the latest Paper server releases. * Upgraded the Gradle wrapper from version8.11.1to8.14.4ingradle/wrapper/gradle-wrapper.propertiesto use the latest Gradle features and bug fixes.1.3.0Nov 4, 2025 v1.3.0 This pull request introduces significant updates to modernize the LyttleNametag plugin for Minecraft 1.21 and Paper, including a migration to Paper's new command and plugin lifecycle system, integration with PacketEvents, and several configuration and dependency improvements. The changes enhance maintainability, compatibility, and future-proofing of the plugin. Core Plugin Modernization and Refactoring: * Migrated command registration to use Paper's Brigadier-based command system and lifecycle events, replacing Bukkit's legacy command executor and tab completer. TheLyttleNametagCommandclass now defines commands using Brigadier and is registered during the appropriate plugin lifecycle event. [[1]](diffhunk://#diff-e3f55625c58389ac1a7178f3f0c0a48ccecfee966a413474e16ba527159187e6L34-R81) [[2]](diffhunk://#diff-5425d2451b1b04e45457a35837c1c32bbd6a822b665d0dbb34ad50ab7e639ac2R4-R46) * Integrated PacketEvents using the recommended lifecycle (onLoad,onEnable,onDisable), ensuring proper initialization, configuration, and termination of the PacketEvents API withinLyttleNametag. [[1]](diffhunk://#diff-e3f55625c58389ac1a7178f3f0c0a48ccecfee966a413474e16ba527159187e6L3-R16) [[2]](diffhunk://#diff-e3f55625c58389ac1a7178f3f0c0a48ccecfee966a413474e16ba527159187e6R28-R37) [[3]](diffhunk://#diff-e3f55625c58389ac1a7178f3f0c0a48ccecfee966a413474e16ba527159187e6L34-R81) Configuration and Dependency Management: * Replaced the legacyplugin.ymlwith the newpaper-plugin.ymlformat, including updated metadata and explicit server dependency declarations for plugins like PlaceholderAPI, ProtocolLib, and ViaVersion, improving compatibility and startup order. [[1]](diffhunk://#diff-c235d408701263315a47b8f23549a44f341c330677a112e48480de86cc86d7baR1-R41) [[2]](diffhunk://#diff-98201effe40eaf4a0e8826fadd6c5c9d5beaf9d737226b514f0853f44987a67fL1-L20) * Updated the default and main configuration files to fix formatting issues in thenametagtemplate, ensuring correct display of placeholders and colors. Build System Updates: * Updated the plugin version to1.3.0ingradle.propertiesand upgraded the Gradle wrapper to version 8.11.1 for improved build reliability and compatibility. [[1]](diffhunk://#diff-3d103fc7c312a3e136f88e81cef592424b8af2464c468116545c4d22d6edcf19L2-R2) [[2]](diffhunk://#diff-40640fe1078ece83d7ea8fb67daacd77923a86d13447baf9769660b3b46f2eceL3-R3)1.3.0-ALPHA.12Nov 4, 2025 v1.3.0 This pull request migrates the plugin from Bukkit's legacy command and plugin registration system to Paper's modern APIs, refactoring command handling to use Brigadier and updating plugin metadata files for Paper compatibility. The main changes are the switch to Paper's lifecycle events for command registration, a complete rewrite of the command logic to use Brigadier, and the removal of the oldplugin.ymlin favor of Paper'spaper-plugin.yml. Migration to Paper API and Brigadier commands: * Replaced Bukkit's command registration with Paper's lifecycle event system, registering commands viaLifecycleEventManagerand the newregisterCommandsmethod inLyttleNametag.java. * RefactoredLyttleNametagCommandto use Brigadier for command structure, permissions, and execution, removing the oldCommandExecutorandTabCompleterimplementations. Now commands are registered and handled using theCommandsAPI and Brigadier nodes. Plugin metadata and configuration updates: * Removed the legacyplugin.ymland replaced it withpaper-plugin.ymland a template#defaults/paper-plugin.yml, specifying plugin metadata, authors, and dependencies in the Paper format. [[1]](diffhunk://#diff-98201effe40eaf4a0e8826fadd6c5c9d5beaf9d737226b514f0853f44987a67fL1-L25) [[2]](diffhunk://#diff-c235d408701263315a47b8f23549a44f341c330677a112e48480de86cc86d7baR1-R41) * Updated dependencies to use the new Paper plugin system, including specifying soft dependencies and load order for compatibility plugins like PlaceholderAPI, ProtocolLib, and ViaVersion. Codebase modernization: * Updated imports and removed unused Bukkit command classes, ensuring all command-related logic is now Paper/Brigadier-based. [[1]](diffhunk://#diff-e3f55625c58389ac1a7178f3f0c0a48ccecfee966a413474e16ba527159187e6R13-R16) [[2]](diffhunk://#diff-5425d2451b1b04e45457a35837c1c32bbd6a822b665d0dbb34ad50ab7e639ac2R4-R46)1.2.5-ALPHA.11Oct 4, 2025 v1.2.5 This pull request updates the plugin to version 1.2.5 and introduces PacketEvents as a dependency, including its initialization and shutdown logic in the main plugin class. It also updates the Gradle wrapper version, improves configuration for nametag formatting, and adjusts plugin dependencies for better compatibility. Dependency and Build System Updates: - UpdatedpluginVersionto1.2.5ingradle.propertiesto reflect the new release. - Upgraded Gradle wrapper to version 8.11.1 ingradle-wrapper.propertiesfor improved build tooling and compatibility. PacketEvents Integration: - Added PacketEvents as a dependency and implemented its initialization (onLoad,onEnable, andonDisable) inLyttleNametag.java. This includes configuring settings such as disabling update checks and debug mode, and ensuring proper startup and shutdown of PacketEvents. [[1]](diffhunk://#diff-e3f55625c58389ac1a7178f3f0c0a48ccecfee966a413474e16ba527159187e6L3-R12) [[2]](diffhunk://#diff-e3f55625c58389ac1a7178f3f0c0a48ccecfee966a413474e16ba527159187e6R24-R33) [[3]](diffhunk://#diff-e3f55625c58389ac1a7178f3f0c0a48ccecfee966a413474e16ba527159187e6R52-R69) Configuration and Formatting Improvements: - Updated thenametagformat in bothconfig.ymland#defaults/config.ymlto close the<gray>tag properly, improving display consistency. [[1]](diffhunk://#diff-7b63c1703ad2ad2fd45bca45c4e0d120b974f46407da0cd17ae8ae4b048e256bL13-R14) [[2]](diffhunk://#diff-7b63c1703ad2ad2fd45bca45c4e0d120b974f46407da0cd17ae8ae4b048e256bL13-R14) Plugin Dependency Management: - Removed PacketEvents from the harddependlist inplugin.ymland added several plugins (ProtocolLib,ProtocolSupport,ViaVersion,ViaBackwards,ViaRewind,Geyser-Spigot) tosoftdependfor broader compatibility with various protocol and proxy plugins.1.2.4Aug 24, 2025 v1.2.4 This pull request makes significant improvements to the build and release automation, enhances configuration flexibility, and introduces a new configurable view distance for nametags. The main changes are the consolidation and enhancement of CI workflows, updates to configuration handling, and improvements to how nametag visibility is managed in-game. Build & Release Automation: * Consolidated the separatemain.ymlandalpha.ymlGitHub Actions workflows into a single, unified workflow file (release-and-publish.yml) that handles both themainandalphabranches, automates tagging, artifact uploads, and publishing to GitHub Releases, Hangar, and Modrinth. This streamlines maintenance and ensures consistent behavior across release channels. [[1]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR1-R144) [[2]](diffhunk://#diff-77705eb5ee9cd3186d976656ab5cd8d5177355a6a4f3631c004205b636830473L1-L57) [[3]](diffhunk://#diff-7829468e86c1cc5d5133195b5cb48e1ff6c75e3e9203777f6b2e379d9e4882b3L1-L57) Configuration System Enhancements: * Migrated from the customConfigclass to the more robustYamlConfigclass for all configuration files in theConfigsclass, improving type safety and YAML handling. * Updated configuration migration logic to support new config versions and ensure seamless upgrades, including auto-migration for the newview_distancesetting. Nametag View Distance Feature: * Added a newview_distanceconfiguration option (default: 64 blocks) to both default and main config files, allowing server owners to control how far away nametags are visible. [[1]](diffhunk://#diff-58cdd3d308ccba6c594e040ff9c065bb11eeb6e30f35ba87694ea45d5ae6096cR22-R26) [[2]](diffhunk://#diff-7b63c1703ad2ad2fd45bca45c4e0d120b974f46407da0cd17ae8ae4b048e256bR17-R26) * Updated the nametag rendering logic inNametagHandlerto use the newview_distancevalue when calculating the visibility range for nametags. Other Improvements: * Minor code cleanup and import optimizations inNametagHandlerfor better readability and maintainability. * Bumped the plugin version from1.2.3to1.2.4to reflect these new features and improvements.1.0.2-ALPHA.3Aug 24, 2025 v1.0.2 This pull request refactors the GitHub Actions workflow in.github/workflows/release-and-publish.ymlto simplify the build and publish process. It removes unnecessary credential handling, consolidates build steps, and adds helpful comments for clarity. The workflow now directly builds and publishes in each job, making the process more straightforward and maintainable. Workflow refactoring and simplification: * Merged the build and release steps into each publish job (publish-github,publish-hangar,publish-modrinth), removing the separatebuild-and-releasejob and the need for artifact downloading between jobs. [[1]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dL10-R10) [[2]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dL77) * Removed explicit setup and use of GitHub Packages credentials (GPR_USER,GPR_API_KEY) from the build and publish steps, simplifying the environment and command usage. [[1]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR20-R36) [[2]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR83-L119) [[3]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR120-R144) * Consolidated the build process in each job to use./gradlew build shadowJar --stacktracebefore publishing, ensuring a fresh build for each publish target. [[1]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR20-R36) [[2]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR83-L119) [[3]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR120-R144) Documentation and clarity improvements: * Added descriptive comments to each workflow step to explain their purpose and improve maintainability for future contributors. [[1]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR20-R36) [[2]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR83-L119) [[3]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR120-R144) Consistency improvements: * Standardized step names (e.g., "Validate Gradle Wrapper") and ensured all jobs use the same sequence of setup steps for consistency across publishing targets. [[1]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR20-R36) [[2]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR83-L119) [[3]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR120-R144)1.2.4-ALPHA.8Aug 24, 2025 v1.2.4 This pull request refactors the GitHub Actions workflow for releasing and publishing the project. The main focus is on simplifying the build and publish steps, removing unnecessary credentials, and improving clarity with additional comments. The workflow now builds the project directly in each publish job instead of relying on artifacts from a centralized build job. Workflow refactoring and simplification: * Removed the centralizedbuild-and-releasejob and replaced it with apublish-githubjob, and updated dependent jobs (publish-hangar,publish-modrinth) to build the project independently. [[1]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dL10-R10) [[2]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dL77) * Removed the use of GitHub Packages credentials (GPR_USER,GPR_API_KEY) and related Gradle properties from all jobs, simplifying the authentication process. [[1]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR20-R36) [[2]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR83-L119) [[3]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR120-R144) Build and publishing improvements: * Each publish job now checks out the repository, validates the Gradle wrapper, sets up JDK 21, and builds the project using./gradlew build shadowJar --stacktrace, ensuring consistent build environments. [[1]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR20-R36) [[2]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR83-L119) [[3]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR120-R144) * Removed the use of artifact upload/download steps; jobs build the JAR directly instead of relying on artifacts from another job. [[1]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR83-L119) [[2]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR120-R144) Documentation and clarity: * Added comments throughout the workflow steps to explain the purpose of each action, improving maintainability and clarity for future contributors. [[1]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR20-R36) [[2]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR83-L119) [[3]](diffhunk://#diff-f1aa31b040aa63ad53feecf5f41bcf0699b50576cc2b1f1ed23daf0d12b5fe8dR120-R144)1.0.2-ALPHA.4Aug 24, 2025 Refactor release workflow to simplify job names and remove unnecessary steps; enhance build and publish processes for Hangar and Modrinth.1.0.2Aug 24, 2025 Refactor release workflow to simplify job names and remove unnecessary steps; enhance build and publish processes for Hangar and Modrinth.1.2.4-ALPHA.6Aug 24, 2025 Update release-and-publish.yml: add build step before publishing to Hangar and Modrinth1.2.3Aug 17, 2025 v1.2.3 This pull request updates the plugin version in thegradle.propertiesfile from 1.2.2 to 1.2.3. - BumpedpluginVersionfrom 1.2.2 to 1.2.3 ingradle.properties- Updated example image to new style1.2.3-ALPHA.10Aug 17, 2025 v1.2.3 This pull request updates the plugin version in thegradle.propertiesfile from 1.2.2 to 1.2.3. - BumpedpluginVersionfrom 1.2.2 to 1.2.3 ingradle.properties- Updated example image to new style1.2.2-ALPHA.9Aug 17, 2025 v1.2.2 This pull request makes a minor update to thesrc/main/resources/config.ymlconfiguration file. The main changes are adjusting the update interval and enhancing the nametag display. Configuration and display updates: * Reduced the update interval from 60 seconds to 0.5 seconds for more frequent checks. * Enhanced the player nametag to display the player's health using a red heart icon and current health value.1.2.2Aug 17, 2025 v1.2.2 This pull request introduces several improvements and fixes to the nametag handling system, focusing on more robust and dynamic updates, better configuration management, and improved event handling. The main changes include making nametag updates periodic and event-driven, improving configuration migration and management, and refactoring the code for better maintainability and flexibility. Nametag Update Improvements: * Added periodic nametag updates using a configurable interval (interval), with nametag text now updating dynamically based on player state and location. A newupdateNametagTextsmethod ensures all nametags stay current. [[1]](diffhunk://#diff-36a32a5cc72ef43fc5ac37bf78c0c4017ab6df087e7eb8bb2e05dd886af08f1bR17-R155) [[2]](diffhunk://#diff-36a32a5cc72ef43fc5ac37bf78c0c4017ab6df087e7eb8bb2e05dd886af08f1bL96) [[3]](diffhunk://#diff-36a32a5cc72ef43fc5ac37bf78c0c4017ab6df087e7eb8bb2e05dd886af08f1bR222-R264) * Nametag text and position are now recalculated based on a height offset above the player's head, ensuring better visual alignment. [[1]](diffhunk://#diff-36a32a5cc72ef43fc5ac37bf78c0c4017ab6df087e7eb8bb2e05dd886af08f1bR17-R155) [[2]](diffhunk://#diff-36a32a5cc72ef43fc5ac37bf78c0c4017ab6df087e7eb8bb2e05dd886af08f1bL111-R184) Event Handling Enhancements: * Added event listeners for player world change, teleport, death, respawn, and game mode change to trigger a delayed nametag reload, ensuring nametags stay accurate through all relevant player events. Configuration and Migration: * Added a newintervalconfiguration option to both default and main config files, allowing server owners to control how often nametags are updated. Updated theconfig_versionto 2 and improved the configuration migration logic to handle new entries and upgrades. [[1]](diffhunk://#diff-3d103fc7c312a3e136f88e81cef592424b8af2464c468116545c4d22d6edcf19L2-R2) [[2]](diffhunk://#diff-e3f55625c58389ac1a7178f3f0c0a48ccecfee966a413474e16ba527159187e6R79-R88) [[3]](diffhunk://#diff-7b63c1703ad2ad2fd45bca45c4e0d120b974f46407da0cd17ae8ae4b048e256bL16-R22) [[4]](diffhunk://#diff-58cdd3d308ccba6c594e040ff9c065bb11eeb6e30f35ba87694ea45d5ae6096cL16-R23) API and Code Refactoring: * RefactoredNametagHandlerto expose areload()method (replacingreloadNametags()in command handling), and madeNametagEntitymutable to allow dynamic text updates. [[1]](diffhunk://#diff-5425d2451b1b04e45457a35837c1c32bbd6a822b665d0dbb34ad50ab7e639ac2L36-R36) [[2]](diffhunk://#diff-36a32a5cc72ef43fc5ac37bf78c0c4017ab6df087e7eb8bb2e05dd886af08f1bR17-R155) [[3]](diffhunk://#diff-36a32a5cc72ef43fc5ac37bf78c0c4017ab6df087e7eb8bb2e05dd886af08f1bL196-R306) [[4]](diffhunk://#diff-36a32a5cc72ef43fc5ac37bf78c0c4017ab6df087e7eb8bb2e05dd886af08f1bR319-R321) Versioning: * Bumped the plugin version from 1.2.1 to 1.2.2 ingradle.propertiesto reflect these changes.1.2.2-ALPHA.8Aug 14, 2025 v1.2.2 This pull request introduces significant improvements to the nametag handling system, focusing on more efficient updates, better event responsiveness, and improved code maintainability. The main changes include separating nametag text updates from full reloads, introducing a periodic "hard reload," and adding event-driven reloads for better accuracy and performance. Nametag update and reload improvements: * Added a newupdateNametagTextsmethod to update only the text of nametags periodically, reducing the overhead of full reloads. This is now called on a timer instead ofreloadNametags, which is reserved for full entity reloads. [[1]](diffhunk://#diff-36a32a5cc72ef43fc5ac37bf78c0c4017ab6df087e7eb8bb2e05dd886af08f1bL58-R146) [[2]](diffhunk://#diff-36a32a5cc72ef43fc5ac37bf78c0c4017ab6df087e7eb8bb2e05dd886af08f1bR222-R264) * Introduced a separatehardReloadTimerthat triggers a full reload of nametags every 60 seconds to ensure state consistency. Event-driven reload enhancements: * Implemented areloadTimeOutmethod and registered event handlers for player join, quit, death, respawn, world change, teleport, and game mode change, triggering a delayed full reload for accurate nametag updates after significant player events. Code maintainability and flexibility: * Made theNametagEntityclass public and added asetTextmethod, allowing for dynamic updates to nametag text. [[1]](diffhunk://#diff-36a32a5cc72ef43fc5ac37bf78c0c4017ab6df087e7eb8bb2e05dd886af08f1bL226-R306) [[2]](diffhunk://#diff-36a32a5cc72ef43fc5ac37bf78c0c4017ab6df087e7eb8bb2e05dd886af08f1bR319-R321) * Cleaned up and simplified code by removing redundant comments and consolidating imports. [[1]](diffhunk://#diff-36a32a5cc72ef43fc5ac37bf78c0c4017ab6df087e7eb8bb2e05dd886af08f1bR17-R32) [[2]](diffhunk://#diff-36a32a5cc72ef43fc5ac37bf78c0c4017ab6df087e7eb8bb2e05dd886af08f1bL115) [[3]](diffhunk://#diff-36a32a5cc72ef43fc5ac37bf78c0c4017ab6df087e7eb8bb2e05dd886af08f1bL130-R183) [[4]](diffhunk://#diff-36a32a5cc72ef43fc5ac37bf78c0c4017ab6df087e7eb8bb2e05dd886af08f1bL144-L178) These changes should result in more responsive and efficient nametag updates, better handling of edge cases, and easier future maintenance.1.2.2-ALPHA.7Aug 13, 2025 v1.2.2 This pull request improves the positioning accuracy of player nametags by ensuring they always appear above the player's head, regardless of the player's current location. The main changes focus on consistently using an adjusted Y-coordinate for nametag placement and updating the configuration file format. Nametag Positioning Improvements: * Added anametagSpawnHeightconstant toNametagHandlerto define the height above the player's head for nametag placement. * Updated thespawnNametagmethod to usebaseLoc.getY() + nametagSpawnHeightwhen determining where to spawn the nametag, ensuring it appears above the player's head. Also, updated nametag coordinate replacements to use the adjusted location. * Modified theshowNametagToPlayermethod to apply the same Y-offset when showing the nametag to viewers, keeping the nametag visually consistent. Configuration Cleanup: * Removed an unnecessary comment from thenametagline inconfig.ymlto clean up the configuration file.1.2.2-ALPHA.6Aug 12, 2025 v1.2.2 This pull request introduces improvements to the configuration and reloading behavior of the plugin, specifically making the update interval configurable and refactoring how nametag updates are handled. The most important changes are grouped below: Configuration Improvements: * Added a configurableinterval(in seconds) for update checks in both the default and mainconfig.ymlfiles, and incremented theconfig_versionto2to reflect this change. [[1]](diffhunk://#diff-7b63c1703ad2ad2fd45bca45c4e0d120b974f46407da0cd17ae8ae4b048e256bR18-R22) [[2]](diffhunk://#diff-58cdd3d308ccba6c594e040ff9c065bb11eeb6e30f35ba87694ea45d5ae6096cL16-R22) * Updated the configuration migration logic inLyttleNametag.javato handle the newintervalentry and support migration from version 1 to 2. Nametag Handler Refactoring: * RefactoredNametagHandlerto use aBukkitTasktimer based on the configurableinterval, ensuring periodic updates and cleanup run at the specified interval. The timer is restarted on reload. [[1]](diffhunk://#diff-36a32a5cc72ef43fc5ac37bf78c0c4017ab6df087e7eb8bb2e05dd886af08f1bR24) [[2]](diffhunk://#diff-36a32a5cc72ef43fc5ac37bf78c0c4017ab6df087e7eb8bb2e05dd886af08f1bR37-R65) * Changed the reload command to use a newreloadmethod inNametagHandler, which restarts the timer and reloads nametags, ensuring configuration changes take effect immediately. * MadereloadNametagsprivate to encapsulate its usage within the handler and ensure it is only called through the proper reload logic. Versioning: * Bumped the plugin version from1.2.1to1.2.2ingradle.propertiesto reflect these updates.1.2.1Jul 28, 2025 v1.2.1 This pull request removes the beta branch workflow, updates the main branch workflow, increments the plugin version, updates platform dependencies, and removes thelibs.versions.tomlfile. These changes streamline the project configuration and focus on maintaining the main branch release process.Workflow Changes:
* Removed the beta branch workflow, including steps for publishing to GitHub Packages, Hangar, and Modrinth. * Updated the workflow name to "Release & Publish Packages (Main Branch)" to reflect the focus on the main branch.Version Updates:
* IncrementedpluginVersionfrom1.2.0to1.2.1and updatedpaperVersionfrom1.21.7to1.21.8.Dependency Configuration:
* Removed the dependency version management file, simplifying the project configuration.1.2.1-ALPHA.5Jul 28, 2025 v1.2.1 This pull request removes the beta branch workflow, updates the main branch workflow, increments the plugin version, updates platform dependencies, and removes thelibs.versions.tomlfile. These changes streamline the project configuration and focus on maintaining the main branch release process.Workflow Changes:
* Removed the beta branch workflow, including steps for publishing to GitHub Packages, Hangar, and Modrinth. * Updated the workflow name to "Release & Publish Packages (Main Branch)" to reflect the focus on the main branch.Version Updates:
* IncrementedpluginVersionfrom1.2.0to1.2.1and updatedpaperVersionfrom1.21.7to1.21.8.Dependency Configuration:
* Removed the dependency version management file, simplifying the project configuration.1.2.0Jul 28, 2025 v1.2.0 This pull request introduces significant enhancements to the Lyttle Nametag plugin, including a migration to a new nametag implementation using PacketEvents, configuration updates, and improved handling of player nametags. The changes aim to optimize performance, simplify the codebase, and improve maintainability.Nametag Implementation Overhaul:
* Replaced theTextDisplay-based nametag system with a PacketEvents-based implementation, introducing theNametagEntityclass for managing nametags. This change improves performance and compatibility.Configuration Updates:
* Migrated thenametagconfiguration key frommessages.ymltoconfig.ymlfor better separation of concerns. * Updated theconfig_versionto1and added comments to clarify configuration usage.Codebase Simplifications:
* Removed legacy methods and logic for handlingTextDisplayentities, including theonPlayerToggleSneakevent handler and associated transformations. * ReplacedHashMapwithConcurrentHashMapfor thread-safe management of player nametags.Gradle and Versioning:
* UpdatedpluginVersionto1.2.0and changedpaperVersionto support version ranges (1.21.x).Configuration Migration:
* EnhancedmigrateConfig()to handle the migration of thenametagkey frommessages.ymltoconfig.yml.1.2.0-ALPHA.4Jul 28, 2025 v1.2.0 This pull request introduces significant enhancements to the Lyttle Nametag plugin, including a migration to a new nametag implementation using PacketEvents, configuration updates, and improved handling of player nametags. The changes aim to optimize performance, simplify the codebase, and improve maintainability.Nametag Implementation Overhaul:
* Replaced theTextDisplay-based nametag system with a PacketEvents-based implementation, introducing theNametagEntityclass for managing nametags. This change improves performance and compatibility.Configuration Updates:
* Migrated thenametagconfiguration key frommessages.ymltoconfig.ymlfor better separation of concerns. * Updated theconfig_versionto1and added comments to clarify configuration usage.Codebase Simplifications:
* Removed legacy methods and logic for handlingTextDisplayentities, including theonPlayerToggleSneakevent handler and associated transformations. * ReplacedHashMapwithConcurrentHashMapfor thread-safe management of player nametags.Gradle and Versioning:
* UpdatedpluginVersionto1.2.0and changedpaperVersionto support version ranges (1.21.x).Configuration Migration:
* EnhancedmigrateConfig()to handle the migration of thenametagkey frommessages.ymltoconfig.yml.1.2.0-ALPHA.3Jul 28, 2025 v1.2.0 This pull request introduces significant enhancements to the Lyttle Nametag plugin, including a migration to a new nametag implementation using PacketEvents, configuration updates, and improved handling of player nametags. The changes aim to optimize performance, simplify the codebase, and improve maintainability.Nametag Implementation Overhaul:
* Replaced theTextDisplay-based nametag system with a PacketEvents-based implementation, introducing theNametagEntityclass for managing nametags. This change improves performance and compatibility.Configuration Updates:
* Migrated thenametagconfiguration key frommessages.ymltoconfig.ymlfor better separation of concerns. * Updated theconfig_versionto1and added comments to clarify configuration usage.Codebase Simplifications:
* Removed legacy methods and logic for handlingTextDisplayentities, including theonPlayerToggleSneakevent handler and associated transformations. * ReplacedHashMapwithConcurrentHashMapfor thread-safe management of player nametags.Gradle and Versioning:
* UpdatedpluginVersionto1.2.0and changedpaperVersionto support version ranges (1.21.x).Configuration Migration:
* EnhancedmigrateConfig()to handle the migration of thenametagkey frommessages.ymltoconfig.yml.1.0.1-ALPHA.1Jul 28, 2025 v1.0.1 This pull request introduces significant updates to workflows, plugin versioning, and theNametagHandlerclass. The changes enhance automation for publishing across multiple platforms, improve the plugin's version management, and refactor the nametag system to support multi-line displays and additional functionality.Workflow Updates
*.github/workflows/alpha.yml,.github/workflows/beta.yml,.github/workflows/main.yml: Updated workflows to include steps for publishing artifacts to GitHub Packages, Hangar, and Modrinth. Added comments for clarity and improved environment variable handling.Plugin Versioning
* Incremented the plugin version from1.0.0to1.0.1.Nametag System Refactor
*NametagHandler.java: - Introduced multi-line nametag support by splitting text into lines and creating individualTextDisplayentities for each line. Added constants for line spacing and base offset. - Added aPlayerToggleSneakEventhandler to hide/show nametags when players toggle sneaking. - Refactored methods for removing, cleaning up, and reloading nametags to handle multipleTextDisplayentities per player.Dependency Update
* AddedLegacyComponentSerializerimport to handle serialization of components into legacy text format for multi-line support.Documentation Update
* Removed the "Lyttle Certified" section to streamline the documentation.1.0.1Jun 23, 2025 v1.0.1 This pull request introduces significant updates to workflows, plugin versioning, and theNametagHandlerclass. The changes enhance automation for publishing across multiple platforms, improve the plugin's version management, and refactor the nametag system to support multi-line displays and additional functionality.Workflow Updates
*.github/workflows/alpha.yml,.github/workflows/beta.yml,.github/workflows/main.yml: Updated workflows to include steps for publishing artifacts to GitHub Packages, Hangar, and Modrinth. Added comments for clarity and improved environment variable handling.Plugin Versioning
* Incremented the plugin version from1.0.0to1.0.1.Nametag System Refactor
*NametagHandler.java: - Introduced multi-line nametag support by splitting text into lines and creating individualTextDisplayentities for each line. Added constants for line spacing and base offset. - Added aPlayerToggleSneakEventhandler to hide/show nametags when players toggle sneaking. - Refactored methods for removing, cleaning up, and reloading nametags to handle multipleTextDisplayentities per player.Dependency Update
* AddedLegacyComponentSerializerimport to handle serialization of components into legacy text format for multi-line support.Documentation Update
* Removed the "Lyttle Certified" section to streamline the documentation.1.0.0LyttleNametag 1.0.0Jun 22, 2025 Initial release plugin, see docs.
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta