Das WeatherChangeEvent ist hierfür leider nicht ganz geeignet, denn Events sind generell nur "Ereignisse", die aktuell stattfinden, unabhängig von deinem Plugin. D.h. dieses Event wird dann aufgerufen, wenn das Wetter geändert wird (entweder via Command, oder zufällig). Du kannst dann zwar das Event abfangen und hier ein neues Wetter festlegen, aber dann müsstest du solange warten, bis sich überhaupt mal das Wetter ändert (damit das Event entsprechend aufgerufen wird).
Wenn du "aktiv" ins Geschehen eingreifen möchtest, sind die Server und World Klassen von Relevanz. Diese bieten alle möglichen Funktionen, um irgendwas in der Welt oder an den Servereinstellungen zu ändern. Um zB das Wetter zu ändern, gibt es in der Server-Klasse die Funktion setWeather(). Um Zugriff auf den "Server" zu bekommen (wovon es nur 1 Instanz gibt), musst du in deinem Plugin die Funktion getServer() aufrufen (du kannst den Rückgabewert entweder irgendwo in einer Variable speichern und dann immer wieder verwenden, oder du rufst jedes Mal getServer() auf). Um also das Wetter zu ändern, könnte der Code so aussehen: