类org.bukkit.event.weather.ThunderChangeEvent源码实例Demo

下面列出了怎么用org.bukkit.event.weather.ThunderChangeEvent的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: Skript   文件: EvtWeatherChange.java
@SuppressWarnings("null")
@Override
public boolean check(final Event e) {
	if (types == null)
		return true;
	if (!(e instanceof WeatherChangeEvent || e instanceof ThunderChangeEvent))
		return false;
	final boolean rain = e instanceof WeatherChangeEvent ? ((WeatherChangeEvent) e).toWeatherState() : ((ThunderChangeEvent) e).getWorld().hasStorm();
	final boolean thunder = e instanceof ThunderChangeEvent ? ((ThunderChangeEvent) e).toThunderState() : ((WeatherChangeEvent) e).getWorld().isThundering();
	return types.check(e, new Checker<WeatherType>() {
		@Override
		public boolean check(final WeatherType t) {
			return t.isWeather(rain, thunder);
		}
	});
}
 
源代码2 项目: Thermos   文件: CraftWorld.java
public void setThundering(boolean thundering) {
    if (thundering && !hasStorm()) setStorm(true);
    CraftServer server = world.getServer();

    ThunderChangeEvent thunder = new ThunderChangeEvent(this, thundering);
    server.getPluginManager().callEvent(thunder);
    if (!thunder.isCancelled()) {
        world.worldInfo.setThundering(thundering);

        // These numbers are from Minecraft
        if (thundering) {
            setThunderDuration(rand.nextInt(12000) + 3600);
        } else {
            setThunderDuration(rand.nextInt(168000) + 12000);
        }
    }
}
 
源代码3 项目: RedProtect   文件: GlobalListener.java
@EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL)
public void onThunderChange(ThunderChangeEvent e) {
    RedProtect.get().logger.debug(LogLevel.DEFAULT, "GlobalListener - Is onThunderChange event");

    World w = e.getWorld();
    if (!RedProtect.get().config.globalFlagsRoot().worlds.get(w.getName()).weather.allow_weather) {
        int attempts = RedProtect.get().config.globalFlagsRoot().worlds.get(w.getName()).weather.attempts_before_rain;
        if (e.toThunderState()) {
            if (!rainCounter.containsKey(w)) {
                rainCounter.put(w, attempts);
                e.setCancelled(true);
            } else {
                int acTry = rainCounter.get(w);
                if (acTry - 1 <= 0) {
                    Bukkit.getScheduler().runTaskLater(RedProtect.get(), () -> w.setWeatherDuration(RedProtect.get().config.globalFlagsRoot().worlds.get(w.getName()).weather.rain_time * 20), 40);
                    rainCounter.put(w, attempts);
                } else {
                    rainCounter.put(w, acTry - 1);
                    e.setCancelled(true);
                }
            }
        }
    }
}
 
源代码4 项目: Skript   文件: ExprWeather.java
@SuppressWarnings("unchecked")
@Override
public boolean setTime(final int time) {
	return super.setTime(time, getExpr(), WeatherChangeEvent.class, ThunderChangeEvent.class);
}
 
源代码5 项目: CardinalPGM   文件: WorldFreeze.java
@EventHandler
public void onThunderChange(ThunderChangeEvent event) {
    event.setCancelled(true);
}
 
 类所在包
 类方法
 同包方法