mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-18 01:46:44 +01:00
Commands Targeting rework
This commit is contained in:
@@ -13,61 +13,34 @@ import emu.grasscutter.game.player.Player;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@Command(label = "giveall", usage = "giveall [player] [amount]",
|
||||
@Command(label = "giveall", usage = "giveall [amount]",
|
||||
description = "Gives all items", aliases = {"givea"}, permission = "player.giveall", threading = true)
|
||||
public final class GiveAllCommand implements CommandHandler {
|
||||
|
||||
@Override
|
||||
public void execute(Player sender, Player targetPlayer, List<String> args) {
|
||||
int target, amount = 99999;
|
||||
if (targetPlayer == null) {
|
||||
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Target_needed);
|
||||
return;
|
||||
}
|
||||
int amount = 99999;
|
||||
|
||||
switch (args.size()) {
|
||||
case 0: // *no args*
|
||||
if (sender == null) {
|
||||
CommandHandler.sendMessage(null, Grasscutter.getLanguage().Run_this_command_in_game);
|
||||
return;
|
||||
}
|
||||
target = sender.getUid();
|
||||
case 0:
|
||||
break;
|
||||
|
||||
case 1: // [player]
|
||||
case 1: // [amount]
|
||||
try {
|
||||
target = Integer.parseInt(args.get(0));
|
||||
if (Grasscutter.getGameServer().getPlayerByUid(target) == null) {
|
||||
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Invalid_playerId);
|
||||
return;
|
||||
}
|
||||
}catch (NumberFormatException ignored){
|
||||
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Invalid_playerId);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
case 2: // [player] [amount]
|
||||
try {
|
||||
target = Integer.parseInt(args.get(0));
|
||||
if (Grasscutter.getGameServer().getPlayerByUid(target) == null) {
|
||||
target = sender.getUid();
|
||||
amount = Integer.parseInt(args.get(0));
|
||||
} else {
|
||||
amount = Integer.parseInt(args.get(1));
|
||||
}
|
||||
amount = Integer.parseInt(args.get(0));
|
||||
} catch (NumberFormatException ignored) {
|
||||
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().GiveAll_invalid_amount_or_playerId);
|
||||
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Invalid_amount);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
default: // invalid
|
||||
CommandHandler.sendMessage(null, Grasscutter.getLanguage().GiveAll_usage);
|
||||
return;
|
||||
}
|
||||
|
||||
if (targetPlayer == null) {
|
||||
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().Player_not_found);
|
||||
return;
|
||||
}
|
||||
|
||||
this.giveAllItems(targetPlayer, amount);
|
||||
CommandHandler.sendMessage(sender, Grasscutter.getLanguage().GiveAll_done);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user