internal static bool Handle(Player p, Level lvl, string type, string value, EnvConfig cfg, string area) { if (type.CaselessEq("preset")) { EnvPreset preset = FindPreset(value); if (preset == null) { MessagePresets(p); return(false); } cfg.SkyColor = preset.Sky; cfg.CloudColor = preset.Clouds; cfg.FogColor = preset.Fog; cfg.ShadowColor = preset.Shadow; cfg.LightColor = preset.Sun; } else if (type.CaselessEq("normal")) { cfg.ResetEnv(); p.Message("Reset environment for {0} %Sto normal", area); } else { EnvOption opt = EnvOptions.Find(type); if (opt == null) { return(false); } opt.SetFunc(p, area, cfg, value); } if (lvl == null) { Player[] players = PlayerInfo.Online.Items; foreach (Player pl in players) { pl.SendCurrentEnv(); } SrvProperties.Save(); } else { SendEnv(lvl); lvl.SaveSettings(); } return(true); }