public void UpdateText() { BlockPos entityPos = capi.World.Player.Entity.Pos.AsBlockPos; ClimateCondition climate = capi.World.BlockAccessor.GetClimateAt(entityPos); GameCalendar cal = (GameCalendar)capi.World.Calendar; float stability = (float)capi.World.Player.Entity.WatchedAttributes.GetDouble("temporalStability", 0.0); string hour = cal.FullHourOfDay < 10 ? "0" + cal.FullHourOfDay : "" + cal.FullHourOfDay; int m = (int)(60 * (cal.HourOfDay - cal.FullHourOfDay)); string dot = m % 2 == 0 ? ":" : " "; string minute = m < 10 ? "0" + m : "" + m; StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine("Date: " + cal.DayOfYear + "/" + cal.DaysPerYear + ", " + cal.Year) .AppendLine("Time: " + hour + dot + minute) .AppendLine("Global Season: " + cal.Season) .AppendLine("Local Temperature: " + Math.Round(climate.Temperature, 3)) .AppendLine("Local Rainfall: " + Math.Round(climate.Rainfall, 3)) .AppendLine("Local Fertility: " + Math.Round(climate.Fertility, 3)) .AppendLine("Local Wind Velocity: " + GlobalConstants.CurrentWindSpeedClient.Sanitize()) .AppendLine("Local Temporal Stability: " + Math.Round(capi.ModLoader.GetModSystem <SystemTemporalStability>().GetTemporalStability(entityPos), 3)) .AppendLine("Player Temporal Stability: " + Math.Round(stability * 100f, 3) + "%"); SingleComposer.GetDynamicText("clock").SetNewText(stringBuilder.ToString()); }
public GenericOpenHeroesRunner(IMapLoader mapLoader, EntityWorld entityWorld = null) { _mapLoader = mapLoader; EventBus = JEventBus.GetDefault(); GameCalendar = new GameCalendar(); int?internalMapSize = mapLoader?.GetMapSize(); if (!internalMapSize.HasValue) { internalMapSize = 512; } Grid grid = new Grid(internalMapSize.Value, internalMapSize.Value); EntitySystem.BlackBoard.SetEntry("EventBus", EventBus); EntitySystem.BlackBoard.SetEntry("Grid", grid); EntitySystem.BlackBoard.SetEntry("GameCalendar", GameCalendar); EntitySystem.BlackBoard.SetEntry("TerrainLayer", new TerrainLayer(grid)); if (entityWorld == null) { EntityWorld = new EntityWorld(false, true, true) { PoolCleanupDelay = 1 }; LoadMap(); } else { EntityWorld = entityWorld; } }
void OnEnable() { calendar = (GameCalendar)target; CalculateDays(); calendar.StartYear = Year; calendar.StartDay = int.Parse(Days[Day]); calendar.StartMonth = (int)Month; }
public override void LoadContent() { _jEventBus = BlackBoard.GetEntry <JEventBus>("EventBus"); _gameCalendar = BlackBoard.GetEntry <GameCalendar>("GameCalendar"); }