using Content.Shared.Nutrition.EntitySystems;
using Robust.Shared.Console;
-namespace Content.Server.Nutrition
-{
- [AdminCommand(AdminFlags.Debug)]
- public sealed class Hungry : IConsoleCommand
- {
- [Dependency] private readonly IEntityManager _entities = default!;
+namespace Content.Server.Nutrition;
- public string Command => "hungry";
- public string Description => "Makes you hungry.";
- public string Help => $"{Command}";
+[AdminCommand(AdminFlags.Debug)]
+public sealed class Hungry : LocalizedEntityCommands
+{
+ public override string Command => "hungry";
- public void Execute(IConsoleShell shell, string argStr, string[] args)
+ public override void Execute(IConsoleShell shell, string argStr, string[] args)
+ {
+ var player = shell.Player;
+ if (player == null)
{
- var player = shell.Player;
- if (player == null)
- {
- shell.WriteLine("You cannot use this command unless you are a player.");
- return;
- }
-
- if (player.AttachedEntity is not {Valid: true} playerEntity)
- {
- shell.WriteLine("You cannot use this command without an entity.");
- return;
- }
+ shell.WriteError(Loc.GetString("cmd-nutrition-error-player"));
+ return;
+ }
- if (!_entities.TryGetComponent(playerEntity, out HungerComponent? hunger))
- {
- shell.WriteLine($"Your entity does not have a {nameof(HungerComponent)} component.");
- return;
- }
+ if (player.AttachedEntity is not {Valid: true} playerEntity)
+ {
+ shell.WriteError(Loc.GetString("cmd-nutrition-error-entity"));
+ return;
+ }
- var hungryThreshold = hunger.Thresholds[HungerThreshold.Starving];
- _entities.System<HungerSystem>().SetHunger(playerEntity, hungryThreshold, hunger);
+ if (!EntityManager.TryGetComponent(playerEntity, out HungerComponent? hunger))
+ {
+ shell.WriteError(Loc.GetString("cmd-nutrition-error-component", ("comp", nameof(HungerComponent))));
+ return;
}
+
+ var hungryThreshold = hunger.Thresholds[HungerThreshold.Starving];
+ EntityManager.System<HungerSystem>().SetHunger(playerEntity, hungryThreshold, hunger);
}
}
cmd-nutrition-error-entity = You cannot use this command without an entity.
cmd-nutrition-error-component = Your entity does not have a {$comp} component.
+cmd-hungry-desc = makes you hungry
+cmd-hungry-help = sets your hungry level to starving
cmd-setnutrit-desc = modify hunger and thirst
cmd-setnutrit-help = set your hunger or thirst to one of the built-in thresholds
cmd-setnutrit-error-invalid-threshold = invalid {$thresholdType} `{$thresholdString}`