kukemc 发表于 2024-11-21 02:57:37

[全版本]KukeCDK - 新一代轻量CDK兑换码插件,批量创建 | 礼包码 | 多条指令 | 超多功能...

本帖最后由 kukemc 于 2024-12-8 03:04 编辑

KukeCDK - 新一代的轻量化CDK插件

功能

[*]支持 执行多条指令
[*]支持 一次性CDK
[*]支持 可多次使用CDK
[*]支持 自定义CDK名称
[*]支持 设置CDK有效时长
[*]支持 批量生成 / 批量删除 / 批量导出
[*]支持 记录所有CDK使用日志
[*]支持 一键查看所有已生成的CDK
[*]支持 创建每名玩家都可兑换一次的CDK

指令与权限

指令介绍权限
/cdk use <CDK>使用 CDKkukecdk.use
/cdk create single <id> <数量> "<命令1|命令2|...>" [有效时间]批量创建一次性CDKkukecdk.admin.create
/cdk create multiple <name|random> <id> <数量> \"<命令1|命令2|...>\" [有效时间]创建每名玩家都可使用的多次性CDKkukecdk.admin.create
/cdk add <id> <数量>根据 ID 批量生成/增加使用次数kukecdk.admin.add
/cdk delete cdk <CDK名称>删除 CDKkukecdk.admin.delete
/cdk delete id <id>删除此 id 下的所有 CDKkukecdk.admin.delete
/cdk list查看所有 CDKkukecdk.admin.list
/cdk export导出 CDK 配置和日志kukecdk.admin.export
/cdk reload重新加载 CDK 配置kukecdk.admin.reload
/cdk help显示帮助信息

使用示例:

示例指令介绍
/cdk create single 钻石 5 "give %player% diamond 1" 2024-12-01 10:00创建五个ID为"钻石"过期时间为2024-12-01 10:00的随机CDK
/cdk create multiple vip666 黄金 999 "give %player% gold 10" 2024-12-01 10:00创建名字为"vip666" ID为"黄金" 可兑换次数为999 过期时间为2024-12-01 10:00 每人都可兑换一次的CDK 直到次数用完为止
/cdk add 钻石 10按照ID"钻石"再生成10个CDK
/cdk add 黄金 10按照ID"黄金"增加十次可兑换次数
/cdk create single 测试 3 "give %player% diamond 1|bc %player%兑换了CDK" 2024-12-01 10:00执行多条指令

config.yml 配置文件
# KukeCDK 插件配置文件

# 插件版本(请勿修改)
plugin_version: "1.0"

# 默认生成的 CDK 字符库
default_cdk_characters: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"

# 默认生成的 CDK 名称长度
default_cdk_name_length: 8
插件截图
https://www.minebbs.com/attachments/1730803551464-png.82769/


反馈
QQ讨论群: 981954623

统计
https://bstats.org/signatures/bukkit/KukeCDK.svg

YanRan233 发表于 2024-11-22 23:52:43

感谢分享,制作辛苦了[哔哩_打call]

冬蝶空 发表于 4 天前

在 leaf 1.21.1 上出现问题
org.bukkit.command.CommandException: Unhandled exception executing command 'cdk' in plugin KukeCDK v1.1-SNAPSHOT
      at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~
      at io.papermc.paper.command.brigadier.bukkit.BukkitCommandNode$BukkitBrigCommand.run(BukkitCommandNode.java:86) ~
      at com.mojang.brigadier.context.ContextChain.runExecutable(ContextChain.java:73) ~
      at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:28) ~
      at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:13) ~
      at net.minecraft.commands.execution.UnboundEntryAction.lambda$bind$0(UnboundEntryAction.java:8) ~
      at net.minecraft.commands.execution.CommandQueueEntry.execute(CommandQueueEntry.java:5) ~
      at net.minecraft.commands.execution.ExecutionContext.runCommandQueue(ExecutionContext.java:101) ~
      at net.minecraft.commands.Commands.executeCommandInContext(Commands.java:422) ~
      at net.minecraft.commands.Commands.performCommand(Commands.java:354) ~
      at net.minecraft.commands.Commands.performCommand(Commands.java:344) ~
      at net.minecraft.commands.Commands.performCommand(Commands.java:339) ~
      at net.minecraft.server.network.ServerGamePacketListenerImpl.performUnsignedChatCommand(ServerGamePacketListenerImpl.java:2331) ~
      at net.minecraft.server.network.ServerGamePacketListenerImpl.lambda$handleChatCommand$16(ServerGamePacketListenerImpl.java:2279) ~
      at net.minecraft.server.TickTask.run(TickTask.java:18) ~
      at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~
      at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~
      at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1576) ~
      at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:189) ~
      at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~
      at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1554) ~
      at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1547) ~
      at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~
      at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1495) ~
      at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1626) ~
      at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1329) ~
      at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:320) ~
      at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7
      at [卡密]KukeCDK-1.1-SNAPSHOT.jar/su.kukecdk.KukeCDK.handleCreateCommand(KukeCDK.java:278) ~[[卡密]KukeCDK-1.1-SNAPSHOT.jar:?]
      at [卡密]KukeCDK-1.1-SNAPSHOT.jar/su.kukecdk.KukeCDK.onCommand(KukeCDK.java:194) ~[[卡密]KukeCDK-1.1-SNAPSHOT.jar:?]
      at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~
      ... 27 more
页: [1]
查看完整版本: [全版本]KukeCDK - 新一代轻量CDK兑换码插件,批量创建 | 礼包码 | 多条指令 | 超多功能...