Communicating among events
Our plugin works exactly as intended, but what if we have a change of heart and begin to miss the sound of the rain? Or what if our town bursts into flames and must be extinguished quickly, We do not want to limit our power as an admin by denying ourselves the use of the /toggledownfall
command. Next we will listen for this command to be issued and when it is, we will allow the weather to change. Ultimately, we will still be able to control the weather manually but the weather will not start on its own.
Let's create another EventHandler
. This time we will be listening for a console command being sent. We will not actually be modifying this event at all so we should set the event priority to MONITOR
. We also want to ignore canceled events. The event that we will listen for is PlayerCommandPreprocessEvent
. This event will occur every time that any player issues any command, whether they be for Minecraft, Bukkit, or another plugin. We only care about one command, ...