Skip to content

Commit d659c10

Browse files
committed
hotfix
1 parent 09af64b commit d659c10

File tree

3 files changed

+93
-5
lines changed

3 files changed

+93
-5
lines changed

src/main/java/io/github/grassproject/queueLib/manager/QueueManager.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,7 @@
1010
import java.io.File;
1111
import java.util.*;
1212

13-
@Deprecated
14-
/*
15-
@deprecated Dont Use it
16-
* */
13+
1714
@ApiStatus.Experimental
1815
public class QueueManager {
1916
private final JavaPlugin plugin= QueueLib.getPlugin();

src/main/kotlin/io/github/grassproject/queueLib/QueueLib.kt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package io.github.grassproject.queueLib
22

33
import io.github.grassproject.framework.core.GPPlugin
4+
import io.github.grassproject.queueLib.commands.QueueCommand
45
import io.github.grassproject.queueLib.manager.QueueManager
56

6-
abstract class QueueLib : GPPlugin() {
7+
class QueueLib : GPPlugin() {
78
companion object {
89
@JvmStatic
910
lateinit var plugin:QueueLib
@@ -18,4 +19,12 @@ abstract class QueueLib : GPPlugin() {
1819
plugin=this
1920
manager= QueueManager()
2021
}
22+
23+
override fun enable() {
24+
QueueCommand()
25+
}
26+
27+
override fun disable() {
28+
29+
}
2130
}
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
package io.github.grassproject.queueLib.commands
2+
3+
import io.github.grassproject.framework.core.command.GPCommand
4+
import io.github.grassproject.queueLib.QueueLib
5+
import org.bukkit.Bukkit
6+
import org.bukkit.command.CommandSender
7+
import java.util.UUID
8+
9+
class QueueCommand: GPCommand<QueueLib>(
10+
QueueLib.plugin, "queue",
11+
listOf(), "QueueLib Command",
12+
"gp.queue.command"
13+
) {
14+
override fun execute(
15+
sender: CommandSender,
16+
args: Array<out String>
17+
): Boolean {
18+
val manager = QueueLib.manager
19+
20+
if (args.isEmpty()) {
21+
sender.sendMessage("/queue list - 큐 목록 보기")
22+
sender.sendMessage("/queue info <uuid> - 특정 큐 정보 보기")
23+
return true
24+
}
25+
26+
when (args[0].lowercase()) {
27+
"list" -> {
28+
val list = manager.queueList
29+
if (list.isEmpty()) {
30+
sender.sendMessage("현재 등록된 큐가 없습니다.")
31+
} else {
32+
sender.sendMessage("큐 목록 (${list.size})")
33+
list.forEach { q ->
34+
sender.sendMessage("- ${q.uid} [${q.type}] ( ${q.joinedPlayer.size}/${q.maxPlayer} )")
35+
}
36+
}
37+
}
38+
39+
"info" -> {
40+
if (args.size < 2) {
41+
sender.sendMessage("/queue info <uuid>")
42+
return true
43+
}
44+
try {
45+
val uuid = UUID.fromString(args[1])
46+
val queue = manager.getQueue(uuid)
47+
if (queue == null) {
48+
sender.sendMessage("해당 UUID의 큐를 찾을 수 없습니다.")
49+
return true
50+
}
51+
sender.sendMessage("큐 정보:")
52+
sender.sendMessage("UUID: ${queue.uid}")
53+
sender.sendMessage("타입: ${queue.type}")
54+
sender.sendMessage("플레이어: ${queue.joinedPlayer.size}/${queue.maxPlayer}")
55+
sender.sendMessage("참가자: ${queue.joinedPlayer.mapNotNull { Bukkit.getPlayer(it)?.name }.joinToString(", ")}")
56+
} catch (e: IllegalArgumentException) {
57+
sender.sendMessage("올바른 UUID 형식이 아닙니다.")
58+
}
59+
}
60+
61+
else -> {
62+
sender.sendMessage("알 수 없는 명령어입니다. /queue 로 확인하세요.")
63+
}
64+
}
65+
66+
return true
67+
}
68+
69+
override fun tabComplete(
70+
sender: CommandSender,
71+
args: Array<out String>
72+
): List<String?> {
73+
return when (args.size) {
74+
1 -> listOf("list", "info").filter { it.startsWith(args[0], ignoreCase = true) }
75+
2 -> if (args[0].equals("info", true)) {
76+
QueueLib.manager.queueList.map { it.uid.toString() }
77+
.filter { it.startsWith(args[1], ignoreCase = true) }
78+
} else emptyList()
79+
else -> emptyList()
80+
}
81+
}
82+
}

0 commit comments

Comments
 (0)