Canceling an event
Finally, we want to stop the weather from changing. To do so, we will call the setCancelled
method of the event. The method takes a Boolean
value as a parameter. We want canceled
to equal true
. Therefore, we will use the setCancelled(true)
code, which is as follows:
package com.codisimus.norain; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.weather.WeatherChangeEvent; import org.bukkit.plugin.java.JavaPlugin; public class NoRain extends JavaPlugin implements Listener { @Override public void onEnable() { getServer().getPluginManager().registerEvents(this, this); } @EventHandler (ignoreCancelled = true, priority =EventPriority.LOW) public void onWeatherChange(WeatherChangeEvent event) { event.setCancelled(true); } }
This plugin will work as is. However, there is room for improvement. What if it is already raining in the server world? This plugin would prevent the...