Skip to content

Commit d43e0a0

Browse files
authored
Merge pull request #4 from zip8919/master
添加/cdk log用于查询兑换记录
2 parents da98e87 + 7d3f487 commit d43e0a0

File tree

6 files changed

+450
-7
lines changed

6 files changed

+450
-7
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,8 +212,11 @@ cdk:
212212
| `/cdk create <数量> "<命令>" [次数] [备注] [过期时间] [类型] [允许多次使用]` | cdk.create | 创建CDK |
213213
| `/cdk use <兑换码>` | cdk.use | 使用CDK |
214214
| `/cdk query <id/cdk> <标识符>` | cdk.query | 查询CDK信息 |
215+
| `/cdk view <id/cdk> <标识符>` | cdk.query | 在控制台或非玩家环境中查看CDK详情(纯文本、不带 hover) |
215216
| `/cdk del <id/cdk> <标识符>` | cdk.admin | 删除CDK |
216217
| `/cdk list [页码] [类型]` | cdk.admin | 列出所有CDK |
218+
| `/cdk log [页码]` | cdk.log | 列出玩家兑换记录,支持分页和筛选(/cdk log filter <player|uuid|type> <值> [页码]) |
219+
| | | 注: 在客户端中,鼠标悬停玩家名会显示 UUID;悬停命令数会显示命令列表。使用 `/cdk log view <id>` 可查看单条记录详情(含完整命令列表)。 |
217220
| `/cdk set <id/cdk> <标识符> <属性> <值>` | cdk.admin | 设置CDK属性 |
218221
| `/cdk add <id/cdk> <标识符> <数量>` | cdk.admin | 增加CDK使用次数 |
219222
| `/cdk reload` | cdk.admin | 重新加载配置 |

src/main/java/org/baicaizhale/cDKer/command/MainCommandExecutor.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,10 @@
99
import org.bukkit.command.CommandExecutor;
1010
import org.bukkit.command.CommandSender;
1111
import org.bukkit.command.TabCompleter;
12-
import org.bukkit.entity.Player;
13-
1412
import java.util.ArrayList;
1513
import java.util.Arrays;
1614
import java.util.List;
17-
import java.util.Map;
15+
// ...existing code...
1816

1917
public class MainCommandExecutor implements CommandExecutor, TabCompleter {
2018

@@ -77,6 +75,8 @@ public boolean onCommand(CommandSender sender, Command command, String label, St
7775
}
7876
case "list":
7977
return new ListCommandExecutor(plugin).execute(sender, Arrays.copyOfRange(args, 1, args.length));
78+
case "log":
79+
return new org.baicaizhale.cDKer.command.impl.LogCommandExecutor(plugin).execute(sender, Arrays.copyOfRange(args, 1, args.length));
8080
case "reload":
8181
return new ReloadCommandExecutor(plugin).execute(sender, Arrays.copyOfRange(args, 1, args.length));
8282
case "export":
@@ -98,6 +98,13 @@ public boolean onCommand(CommandSender sender, Command command, String label, St
9898
sender.sendMessage(new QueryCommandExecutor(plugin).getUsage());
9999
return true;
100100
}
101+
case "view":
102+
if (args.length > 1) {
103+
return new ViewCommandExecutor(plugin).execute(sender, Arrays.copyOfRange(args, 1, args.length));
104+
} else {
105+
sender.sendMessage(new ViewCommandExecutor(plugin).getUsage());
106+
return true;
107+
}
101108
case "set":
102109
if (args.length > 1) {
103110
return new SetCommandExecutor(plugin).execute(sender, Arrays.copyOfRange(args, 1, args.length));

src/main/java/org/baicaizhale/cDKer/command/impl/HelpCommandExecutor.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,8 @@
22

33
import org.baicaizhale.cDKer.CDKer;
44
import org.baicaizhale.cDKer.command.AbstractSubCommand;
5-
import org.baicaizhale.cDKer.util.CommandUtils;
65
import org.bukkit.command.CommandSender;
76

8-
import java.util.ArrayList;
9-
import java.util.List;
10-
117
public class HelpCommandExecutor extends AbstractSubCommand {
128

139
public HelpCommandExecutor(CDKer plugin) {
@@ -35,8 +31,13 @@ public boolean onCommand(CommandSender sender, String[] args) {
3531
sender.sendMessage(" §7示例: /cdk del id 1 或 /cdk del cdk ABC123XYZ789");
3632
sender.sendMessage("§f/cdk list [页码] [类型] §7- 列出所有CDK,支持分页和类型筛选");
3733
sender.sendMessage(" §7示例: /cdk list 2 或 /cdk list vip 或 /cdk list vip 2");
34+
sender.sendMessage("§f/cdk log [页码] §7- 列出玩家兑换记录,支持分页。需要权限: cdk.log");
35+
sender.sendMessage(" §7示例: /cdk log 或 /cdk log 2 或 /cdk log filter player Steve");
36+
sender.sendMessage(" §7提示: 玩家上悬停显示 UUID;悬停命令数可查看命令列表;使用 /cdk log view <id> 查看单条详情。 ");
3837
sender.sendMessage("§f/cdk query <id/cdk> <标识符> §7- 查询CDK信息");
3938
sender.sendMessage(" §7示例: /cdk query id 1 或 /cdk query cdk ABC123XYZ789");
39+
sender.sendMessage("§f/cdk view <id/cdk> <标识符> §7- 在控制台或非玩家环境中查看CDK详情(纯文本,不带 hover)");
40+
sender.sendMessage(" §7示例: /cdk view id 1 或 /cdk view cdk ABC123XYZ789");
4041
sender.sendMessage("§f/cdk set <id/cdk> <标识符> <属性> <值> §7- 设置CDK属性");
4142
sender.sendMessage(" §7可设置的属性: remaining_uses, commands, expire_time, note, cdk_type, per_player_multiple");
4243
sender.sendMessage(" §7示例: /cdk set id 1 remaining_uses 10");

0 commit comments

Comments
 (0)