@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); } }
private boolean startRain(World world) { if(!world.isRaining()) { if(world.rand.nextInt(10) == 0) { world.getWorldInfo().setRaining(true); TileTeruTeruBozu.resetRainTime(world); } return true; } return false; }
private boolean removeRain(World world) { if(world.isRaining()) { world.getWorldInfo().setRaining(false); TileTeruTeruBozu.resetRainTime(world); return true; } return false; }
@Override public void update() { if (world.isRemote) return; boolean isRaining = world.isRaining(); if(isRaining && world.rand.nextInt(9600) == 0) { world.getWorldInfo().setRaining(false); resetRainTime(world); } if(wasRaining != isRaining) world.updateComparatorOutputLevel(pos, world.getBlockState(pos).getBlock()); wasRaining = isRaining; }
protected void rain(World world, boolean state) { world.getWorldInfo().setRaining(state); }
@Override public void activate(World world) { world.getWorldInfo().setRaining(true); }
@Override public void deactivate(World world) { world.getWorldInfo().setRaining(false); }
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 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(); } }
@Override public boolean onActivate(IImperfectRitualStone imperfectRitualStone, EntityPlayer player) { if (!imperfectRitualStone.getRitualWorld().isRemote) { imperfectRitualStone.getRitualWorld().getWorldInfo().setRaining(true); } if (imperfectRitualStone.getRitualWorld().isRemote) { imperfectRitualStone.getRitualWorld().setRainStrength(1.0F); imperfectRitualStone.getRitualWorld().setThunderStrength(1.0F); } return true; } }
@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(); } } }
this.world.getWorldInfo().setRaining(data != 0); this.world.getWorldInfo().setRaining(data != 0); this.world.getWorldInfo().setThundering(data != 0);
worldInfo.setRaining(false); this.setDead();
worldInfo.setRaining(true); this.setDead();