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.