Commit b6fedcf2 authored by xtaodada's avatar xtaodada Committed by Melledy
Browse files

Support kill from console

parent dc6702eb
......@@ -13,17 +13,26 @@ import emu.grasscutter.server.packet.send.PacketLifeStateChangeNotify;
import java.util.List;
@Command(label = "killcharacter", usage = "killcharacter [playerId]", aliases = {"suicide", "kill"},
description = "Directly kill a player's current active character", permission = "player.killcharacter")
description = "Kills the players current character", permission = "player.killcharacter")
public final class KillCharacterCommand implements CommandHandler {
@Override
public void execute(GenshinPlayer sender, List<String> args) {
int target;
if (sender == null) {
CommandHandler.sendMessage(null, "Run this command in-game.");
return; // TODO: kill a player's current active character from console
// from console
if (args.size() == 1) {
try {
target = Integer.parseInt(args.get(0));
} catch (NumberFormatException e) {
CommandHandler.sendMessage(null, "Invalid player id.");
return;
}
int target;
} else {
CommandHandler.sendMessage(null, "Usage: /killcharacter [playerId]");
return;
}
} else {
if (args.size() == 1) {
try {
target = Integer.parseInt(args.get(0));
......@@ -37,6 +46,8 @@ public final class KillCharacterCommand implements CommandHandler {
} else {
target = sender.getUid();
}
}
GenshinPlayer targetPlayer = Grasscutter.getGameServer().getPlayerByUid(target);
if (targetPlayer == null) {
CommandHandler.sendMessage(sender, "Player not found or offline.");
......@@ -52,6 +63,6 @@ public final class KillCharacterCommand implements CommandHandler {
targetPlayer.getScene().removeEntity(entity);
entity.onDeath(0);
sender.dropMessage("Killed " + targetPlayer.getNickname() + "'s current active character.");
CommandHandler.sendMessage(sender, "Killed " + targetPlayer.getNickname() + " current character.");
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment