70 lines
2.7 KiB
Java
70 lines
2.7 KiB
Java
package net.saltymc.eaa.commands;
|
|
|
|
import com.mojang.brigadier.arguments.StringArgumentType;
|
|
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
|
|
import com.mojang.brigadier.context.CommandContext;
|
|
import net.fabricmc.fabric.api.client.command.v1.FabricClientCommandSource;
|
|
import net.minecraft.client.MinecraftClient;
|
|
import net.minecraft.command.argument.EntityArgumentType;
|
|
import net.minecraft.text.Text;
|
|
import net.saltymc.eaa.util.database.DB_Player;
|
|
import net.saltymc.eaa.util.database.DB_Tag;
|
|
import net.saltymc.eaa.util.mojangApi.PlayerInfo;
|
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.ListIterator;
|
|
import java.util.Map;
|
|
|
|
import static net.fabricmc.fabric.api.client.command.v1.ClientCommandManager.argument;
|
|
import static net.fabricmc.fabric.api.client.command.v1.ClientCommandManager.literal;
|
|
|
|
public class CheckPlayerCommand extends EaaModCommand{
|
|
|
|
private static final Map<String, DB_Tag> player_tags = new HashMap<>();
|
|
public static final SimpleDateFormat dateformat = new SimpleDateFormat("dd.MM.yyyy");
|
|
|
|
@Override
|
|
public int run(CommandContext<FabricClientCommandSource> context) {
|
|
FabricClientCommandSource source = context.getSource();
|
|
|
|
String player = StringArgumentType.getString(context,"player");
|
|
|
|
try {
|
|
String playerUUID = MinecraftClient.getInstance().getNetworkHandler().getPlayerListEntry(player).getProfile().getId().toString();
|
|
|
|
List<String> names = PlayerInfo.playerUUIDToNames(playerUUID);
|
|
for (int i = 1; i <= names.size(); i++)
|
|
source.sendFeedback(Text.of(i + ". " + names.get(i-1)));
|
|
|
|
List<DB_Tag> tags = DB_Tag.getTagsFromPlayer(DB_Player.getPlayer(playerUUID));
|
|
if (tags.size() > 0) {
|
|
ListIterator<DB_Tag> it = tags.listIterator(tags.size());
|
|
while (it.hasPrevious()) {
|
|
DB_Tag curr = it.previous();
|
|
source.sendFeedback(Text.of(
|
|
dateformat.format(curr.getTagDate()) + " | " + curr.getType().getTag() + " (" + curr.getGrade() + ")"
|
|
));
|
|
}
|
|
} else {
|
|
source.sendFeedback(Text.of("Nothing to appeal"));
|
|
}
|
|
|
|
} catch (Exception e) {
|
|
source.sendFeedback(Text.of(e.toString()));
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
@Override
|
|
public LiteralArgumentBuilder<FabricClientCommandSource> getCommandSpecification() {
|
|
return literal("/check")
|
|
.then(
|
|
argument("player", StringArgumentType.word())
|
|
.suggests((ctx, builder) -> EntityArgumentType.player().listSuggestions(ctx, builder))
|
|
.executes(this));
|
|
}
|
|
}
|