private void OnClientGameTick(float dt) { quarterSecAccum += dt; if (quarterSecAccum > 0.25f) { clientClimateCond = capi.World.BlockAccessor.GetClimateAt(plrPos, EnumGetClimateMode.NowValues); quarterSecAccum = 0; playerChunkLoaded |= capi.World.BlockAccessor.GetChunkAtBlockPos(plrPos) != null; // To avoid rain for one second right after joining } simLightning.ClientTick(dt); for (int i = 0; i < 4; i++) { WeatherSimulationRegion sim = WeatherDataAtPlayer.AdjacentSims[i]; if (sim == dummySim) { continue; } sim.TickEvery25ms(dt); } simSounds.Update(dt); rainOverlaySnap.climateCond = clientClimateCond; rainOverlaySnap.SetAmbient(rainOverlayPattern, capi == null ? 0 : capi.Ambient.Base.FogDensity.Value); }
private void OnClientGameTick(float dt) { quarterSecAccum += dt; if (quarterSecAccum > 0.25f) { clientClimateCond = capi.World.BlockAccessor.GetClimateAt(plrPos); quarterSecAccum = 0; } simLightning.ClientTick(dt); for (int i = 0; i < 4; i++) { WeatherSimulationRegion sim = adjacentSims[i]; if (sim == dummySim) { continue; } sim.TickEvery25ms(dt); } simSounds.Update(dt); }