
NewJoinMessage 2.8 Beta
Custom Join/Leave Messages for Each Player with Fully Customizable Configuration
Njm Update Summary
1. Language Support Added:
- New Languages: English, German, French, Spanish, Italian, Chinese, Japanese, Korean, and Russian.
- Language Files: Created custom language files for all 9 languages.
2. MySQL Fixes:
- Resolved Issues: Fixed problems with MySQL integration.
3. Translations:
- Progress: 75% of the plugin's messages are now translated into the 9 supported languages.
4. New Language Selection GUI:
- Language GUI: Added a GUI where players can select their preferred language.
- Available Languages: Players can choose from the 9 supported languages in the GUI.
5. System Updates:
- Version Check: Implemented a system to automatically check for plugin updates.
6. LanguageHandler Improvements:
- Language Handling: Loads and manages language files, retrieves messages in the player's selected language.
- Player Preferences: Reads player language preferences from DataLang.yml.
7. Command Updates:
- Localized Commands: Updated commands to use localized messages.
- Help Menu: The help menu now displays messages in the player's selected language.
- Language Command: Added /njm language command to open the language selection GUI.
8. Debugging and Logs:
- Logs: Added logs to track language preferences and message retrieval.
- Warnings: Generates warnings for missing keys in language files to help with troubleshooting.
Photos of the update:
-
New Player Join Message:
- Resolved issue where setting the join message to false now correctly disables it.
-
Exception Handling:
- Implemented proper exception handling for IOException and InvalidConfigurationException when loading firework.yml.
-
Explicit YamlConfiguration Instance:
- Created a dedicated instance of YamlConfiguration to explicitly load firework.yml, ensuring robust configuration handling.
-
Logging Enhancements:
- Enhanced logging messages for clearer output during the reload process, especially for firework.yml.
-
Dependency Management:
- Ensured correct import and usage of required dependencies (org.bukkit.* and others).
-
Code Organization:
- Structured the code to follow a clear approach for reloading configurations and managing changes in MySQL connection status.
-
Reload Command Enhancement:
- Improved the reliability and functionality of the reload command, ensuring all configurations are properly reloaded.
Details:
Fix Mysql. when the plugin is linked with database but it says not
fix with reload command {/njm reload}.
making the plugin faster
and much more....
Here's an updated description of what we have made, including the new commands, fixes, and the new permission system:
Commands:
- /njm setplayer [player] [join/leave] [message]: Sets a custom join or leave message for the specified player.
- Example: /njm setplayer player123 join Welcome to the server!
- /njm set [join/leave] [message]: Sets a custom join or leave message for yourself.
- Example: /njm set leave Goodbye! See you next time.
- /njm clear [join/leave/all] [player]: Clears the join or leave message for the specified player, or resets all messages.
- Example: /njm clear join player456
- /njm reload: Reloads the JoinLeaveMessage plugin.
- /njm gui: This command is exclusive to players and opens a graphical user interface (GUI) for managing join and leave messages.
Fixes:
- Fixed an issue where console commands, such as "/njm gui", were causing errors. Now, the plugin prevents console users from executing the "/njm gui" command to avoid any issues.
New System and Permissions: We have added a new system that detects the permissions of players. In the display menu, accessible in the chat, players can now view the commands they have permissions for. The menu provides a clear overview of the available commands and guides players on how to use them.
For example, players without any permissions will be informed in the display menu that they don't have access to any commands. On the other hand, if a player has a specific permission, like the "join" permission, the display menu will indicate that they have access to the command and provide instructions on how to use it.
This new permission system allows server administrators to control and manage command access based on player permissions, providing a more streamlined and personalized experience for players.
Added:
1- Added the JoinLeaveGUI class: We created a new class called JoinLeaveGUI to handle the graphical user interface (GUI) functionality. This class includes methods for opening the GUI, handling inventory click events, and starting message setting conversations.
2- Integrated the JoinLeaveGUI into the main plugin class: We modified the JoinleaveMessage class, which is your main plugin class, to register the JoinLeaveGUI as a listener. Additionally, we added the /njm gui command, which allows players to open the GUI.
3- Improved command handling: We enhanced the onCommand method in the JoinleaveMessage class to handle the /njm command and its subcommands, such as set and reload. We also added support for tab completion, making it easier for players to enter commands, and improved error handling for cases of invalid command usage.
4- Permission check for opening the GUI: We implemented a permission check in the openGUI method of the JoinLeaveGUI class. This ensures that only players with the required permission can open the GUI.
5- Code organization and clean-up: We made adjustments to the code structure and formatting to enhance readability and maintainability of the plugin.
6- VanishAPI: We integrated the VanishAPI, which detects whether players are vanished or not. If a player is vanished, the join/leave message will be disabled for them. This provides a way to respect the privacy of vanished players and avoid revealing their presence through join/leave messages.
7- Fireworks on first join: We added a feature to trigger fireworks when a player joins the server for the first time. This provides a visual celebration to welcome new players.
8- Welcome message for first-time joining: We included a welcome message for players who join the server for the first time. This message serves as a warm greeting and introduction to the server community.
9- Added data.yml and players.yml config files: We introduced two new configuration files, data.yml and players.yml, to store specific data related to join/leave messages and player joining status.
10- data.yml: This config file is responsible for storing join/leave messages. It allows players to customize their join/leave messages by saving them in the data.yml file. Each player's message is associated with their UUID.
11- players.yml: This config file keeps track of players' first-time joining status. When a player joins the server for the first time, their UUID is stored in the players.yml file to indicate that they are a new player.
12- These additional config files provide a structured way to manage and store specific data related to join/leave messages and player joining status.
Fix:
1- MySQL issue resolved: We have fixed the MySQL connection issue, and now it should work properly. You can use MySQL for data storage without any problems.
2- GUI compatibility: The GUI functionality has been updated to work across different versions of Minecraft, specifically from 1.8 to 1.20.1. If you encounter any issues with the GUI, please let me know on Discord, and I will assist you further.
3- Join/leave messages fixed: The join and leave messages are now displaying correctly in the chat when a player joins or leaves the server. You should see the appropriate messages without any issues.
4- Firework functionality fixed for Minecraft 1.14: The firework feature has been fixed specifically for Minecraft version 1.14. Players will now experience firework effects when they join the server for the first time.