1
0
forked from noxious/server

Date & weather manager fixes

This commit is contained in:
Dennis Postma 2025-01-04 20:46:55 +01:00
parent 9bdafd5026
commit f2d0e87e26
2 changed files with 13 additions and 5 deletions

View File

@ -1,9 +1,9 @@
import { Server } from 'socket.io'
import Logger, { LoggerType } from '#application/logger'
import { World } from '#entities/world'
import SocketManager from '#managers/socketManager'
import WorldRepository from '#repositories/worldRepository'
import WorldService from '#services/worldService'
class DateManager {
private static readonly CONFIG = {
@ -90,7 +90,11 @@ class DateManager {
private async saveDate(): Promise<void> {
try {
const worldRepository = new WorldRepository()
await (await worldRepository.getFirst())?.setDate(this.currentDate).save()
let world = await worldRepository.getFirst()
if (!world) world = new World()
await world.setDate(this.currentDate).save()
} catch (error) {
this.handleError('Failed to save date', error)
}

View File

@ -1,9 +1,9 @@
import { Server } from 'socket.io'
import Logger, { LoggerType } from '#application/logger'
import { World } from '#entities/world'
import SocketManager from '#managers/socketManager'
import WorldRepository from '#repositories/worldRepository'
import WorldService from '#services/worldService'
type WeatherState = {
isRainEnabled: boolean
@ -114,8 +114,12 @@ class WeatherManager {
private async saveWeather(): Promise<void> {
try {
const worldRepository = new WorldRepository()
await (await worldRepository.getFirst())
?.setIsRainEnabled(this.weatherState.isRainEnabled)
let world = await worldRepository.getFirst()
if (!world) world = new World()
await world
.setIsRainEnabled(this.weatherState.isRainEnabled)
.setRainPercentage(this.weatherState.rainPercentage)
.setIsFogEnabled(this.weatherState.isFogEnabled)
.setFogDensity(this.weatherState.fogDensity)