using System; using Vintagestory.API.Common; using Vintagestory.API.Config; using Vintagestory.API.Server; namespace AriasServerUtils { public class Events { internal static TextCommandResult HandleClearSpawn(TextCommandCallingArgs args) { ServerUtilities.config.Spawn = null; ServerUtilities.MarkDirty(); return TextCommandResult.Success(Lang.Get($"{ServerUtilities.MOD_ID}:rmspawn")); } internal static TextCommandResult HandleSetSpawn(TextCommandCallingArgs args) { PlayerPosition pos = PlayerPosition.from(args.Caller.Entity); ServerUtilities.config.Spawn = pos; if (args.Caller.Player is IServerPlayer isp) ServerUtilities.SendMessageTo(isp, Lang.Get($"{ServerUtilities.MOD_ID}:setspawn")); ServerUtilities.MarkDirty(); return TextCommandResult.Success(); } internal static TextCommandResult HandleSpawn(TextCommandCallingArgs args) { if (ServerUtilities.config.Spawn == null) { if (args.Caller.Player is IServerPlayer isp) { ServerUtilities.SendMessageTo(isp, Lang.Get($"{ServerUtilities.MOD_ID}:spawn-not-set")); } } else { if (args.Caller.Player is IServerPlayer isp) { ServerUtilities.SendMessageTo(isp, Lang.Get($"{ServerUtilities.MOD_ID}:tp-spawn")); ServerUtilities.config.Spawn.Merge(args.Caller.Player.Entity); } } return TextCommandResult.Success(); } } }