Add delete entities with prototype id command (#1983)
* Add delete entities with prototype id command * Add command to groups * Add feedback and lowercasing
This commit is contained in:
39
Content.Server/Administration/DeleteEntitiesWithId.cs
Normal file
39
Content.Server/Administration/DeleteEntitiesWithId.cs
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
#nullable enable
|
||||||
|
using Robust.Server.Interfaces.Console;
|
||||||
|
using Robust.Server.Interfaces.Player;
|
||||||
|
using Robust.Shared.GameObjects;
|
||||||
|
using Robust.Shared.Interfaces.GameObjects;
|
||||||
|
using Robust.Shared.IoC;
|
||||||
|
|
||||||
|
namespace Content.Server.Administration
|
||||||
|
{
|
||||||
|
public class DeleteEntitiesWithId : IClientCommand
|
||||||
|
{
|
||||||
|
public string Command => "deleteewi";
|
||||||
|
public string Description => "Deletes entities with the specified prototype ID.";
|
||||||
|
public string Help => $"Usage: {Command} <prototypeID>";
|
||||||
|
|
||||||
|
public void Execute(IConsoleShell shell, IPlayerSession? player, string[] args)
|
||||||
|
{
|
||||||
|
if (args.Length != 1)
|
||||||
|
{
|
||||||
|
shell.SendText(player, Help);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var id = args[0].ToLower();
|
||||||
|
var entityManager = IoCManager.Resolve<IEntityManager>();
|
||||||
|
var query = new PredicateEntityQuery(e => e.Prototype?.ID.ToLower() == id);
|
||||||
|
var entities = entityManager.GetEntities(query);
|
||||||
|
var i = 0;
|
||||||
|
|
||||||
|
foreach (var entity in entities)
|
||||||
|
{
|
||||||
|
entity.Delete();
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
|
||||||
|
shell.SendText(player, $"Deleted all entities with id {id}. Occurrences: {i}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -105,6 +105,7 @@
|
|||||||
- adddamageflag
|
- adddamageflag
|
||||||
- removedamageflag
|
- removedamageflag
|
||||||
- godmode
|
- godmode
|
||||||
|
- deleteewi
|
||||||
CanViewVar: true
|
CanViewVar: true
|
||||||
CanAdminPlace: true
|
CanAdminPlace: true
|
||||||
CanAdminMenu: true
|
CanAdminMenu: true
|
||||||
@@ -203,6 +204,7 @@
|
|||||||
- adddamageflag
|
- adddamageflag
|
||||||
- removedamageflag
|
- removedamageflag
|
||||||
- godmode
|
- godmode
|
||||||
|
- deleteewi
|
||||||
CanViewVar: true
|
CanViewVar: true
|
||||||
CanAdminPlace: true
|
CanAdminPlace: true
|
||||||
CanScript: true
|
CanScript: true
|
||||||
|
|||||||
Reference in New Issue
Block a user