@Override public void setWeather(WeatherType weatherType, long duration) { WorldInfo info = getWorld().getWorldInfo(); if (WeatherTypes.THUNDER_STORM.equals(weatherType)) { info.setCleanWeatherTime(0); info.setThundering(true); info.setThunderTime((int) duration); } else if (WeatherTypes.RAIN.equals(weatherType)) { info.setCleanWeatherTime(0); info.setRaining(true); info.setRainTime((int) duration); } else if (WeatherTypes.CLEAR.equals(weatherType)) { info.setRaining(false); info.setThundering(false); info.setCleanWeatherTime((int) duration); } }
public static void resetRainTime(World w){ w.getWorldInfo().setRainTime(w.rand.nextInt(w.getWorldInfo().isRaining() ? 12000 : 168000) + 12000); } }
public static void activateThunder(World world) { WorldInfo worldInfo = world.getWorldInfo(); int i = (300 + world.rand.nextInt(600)) * 20; worldInfo.setRainTime(i); worldInfo.setThunderTime(i); worldInfo.setRaining(true); worldInfo.setThundering(true); }
@Override public void updateInPedestal(@Nonnull World world, @Nonnull BlockPos pos) { if (!world.isRemote && ProjectEConfig.pedestalCooldown.evertidePedCooldown != -1) { TileEntity te = world.getTileEntity(pos); if (!(te instanceof DMPedestalTile)) { return; } DMPedestalTile tile = ((DMPedestalTile) te); if (tile.getActivityCooldown() == 0) { int i = (300 + world.rand.nextInt(600)) * 20; world.getWorldInfo().setRainTime(i); world.getWorldInfo().setThunderTime(i); world.getWorldInfo().setRaining(true); tile.setActivityCooldown(ProjectEConfig.pedestalCooldown.evertidePedCooldown); } else { tile.decrementActivityCooldown(); } } }
@Override public void updateInPedestal(@Nonnull World world, @Nonnull BlockPos pos) { if (!world.isRemote && ProjectEConfig.pedestalCooldown.volcanitePedCooldown != -1) { TileEntity te = world.getTileEntity(pos); if(!(te instanceof DMPedestalTile)) { return; } DMPedestalTile tile = (DMPedestalTile) te; if (tile.getActivityCooldown() == 0) { world.getWorldInfo().setRainTime(0); world.getWorldInfo().setThunderTime(0); world.getWorldInfo().setRaining(false); world.getWorldInfo().setThundering(false); tile.setActivityCooldown(ProjectEConfig.pedestalCooldown.volcanitePedCooldown); } else { tile.decrementActivityCooldown(); } } }
@Override public void activate() { if (world.isRemote) { world.playSound(null, getPos(), SoundEvents.ENTITY_LIGHTNING_THUNDER, SoundCategory.WEATHER, 10000.0F, 0.8F + world.rand.nextFloat() * 0.2F); float f = getPos().getX() + 0.5F; float f1 = getPos().getY() + 0.0F + world.rand.nextFloat() * 6F / 16F; float f2 = getPos().getZ() + 0.5F; float f3 = 0.52F; float f4 = world.rand.nextFloat() * 0.6F - 0.3F; ParticleRender.addEntityExplodeFX(world, f - f3, f1, f2 + f4); ParticleRender.addEntityExplodeFX(world, f + f3, f1, f2 + f4); ParticleRender.addEntityExplodeFX(world, f + f4, f1, f2 - f3); ParticleRender.addEntityExplodeFX(world, f + f4, f1, f2 + f3); } else { if (reverse) { world.getWorldInfo().setRaining(false); } else { world.getWorldInfo().setRaining(true); world.getWorldInfo().setRainTime(duration); } charge = 0; duration = 0; reverse = false; sendNetworkUpdate(); } }
event.world.getWorldInfo().setRainTime(event.world.rand.nextInt(24000) + 12000); event.world.getWorldInfo().setRainTime(event.world.rand.nextInt(84000) + 12000);