Compare commits
2 commits
1d65bd0ac8
...
727769a170
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
727769a170 | ||
|
|
dc29e0e251 |
2 changed files with 48 additions and 43 deletions
|
|
@ -10,13 +10,13 @@
|
||||||
|
|
||||||
## ✨ 주요 기능
|
## ✨ 주요 기능
|
||||||
|
|
||||||
- 📍 **좌표 관리** - GUI 기반 좌표 저장 및 텔레포트
|
- 📍 **좌표 관리** - 좌표 저장 및 텔레포트
|
||||||
- 🏷️ **닉네임 시스템** - 플레이어 닉네임 설정
|
- 🏷️ **닉네임 시스템** - 플레이어 닉네임 설정
|
||||||
- 🏠 **스폰 관리** - 커스텀 스폰 지점 설정
|
- 🏠 **스폰 관리** - 커스텀 스폰 지점 설정
|
||||||
- 🚀 **텔레포트** - 플레이어 간 텔레포트
|
- 🚀 **텔레포트** - 플레이어 간 텔레포트
|
||||||
- 🛡️ **안티몹** - 특정 몹 비활성화
|
- 🛡️ **안티몹** - 특정 몹 패턴 비활성화
|
||||||
- 🌾 **밭 보호** - 밟아도 밭 안 망가짐
|
- 🌾 **밭 보호** - 밟아도 밭이 망가지지 않도록 보호
|
||||||
- 💬 **채팅 관리** - 채팅 형식 및 비우기
|
- 💬 **채팅 관리** - 채팅 형식 변경
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -26,8 +26,8 @@
|
||||||
|
|
||||||
| 명령어 | 설명 |
|
| 명령어 | 설명 |
|
||||||
| ------------------ | -------------------- |
|
| ------------------ | -------------------- |
|
||||||
| `/좌표` | 저장된 좌표 목록 GUI |
|
| `/좌표` | 저장된 좌표 목록 |
|
||||||
| `/좌표추가 <이름>` | 현재 위치 저장 |
|
| `/좌표추가 <이름>` | 현재 위치 좌표 저장 |
|
||||||
| `/좌표제거 <이름>` | 저장된 좌표 삭제 |
|
| `/좌표제거 <이름>` | 저장된 좌표 삭제 |
|
||||||
| `/좌표이동 <이름>` | 해당 좌표로 텔레포트 |
|
| `/좌표이동 <이름>` | 해당 좌표로 텔레포트 |
|
||||||
|
|
||||||
|
|
@ -57,9 +57,9 @@
|
||||||
|
|
||||||
### 안티몹
|
### 안티몹
|
||||||
|
|
||||||
| 명령어 | 설명 |
|
| 명령어 | 설명 |
|
||||||
| --------------------- | --------------- |
|
| --------------------- | ----------- |
|
||||||
| `/안티몹`, `/antimob` | 안티몹 설정 GUI |
|
| `/안티몹`, `/antimob` | 안티몹 설정 |
|
||||||
|
|
||||||
### 밭 보호
|
### 밭 보호
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,8 +32,9 @@ object ChatCommand {
|
||||||
private fun hasPermissionOrSend(player: ServerPlayer?, requiredLevel: Int = 2): Boolean {
|
private fun hasPermissionOrSend(player: ServerPlayer?, requiredLevel: Int = 2): Boolean {
|
||||||
if (player != null && !player.hasPermissions(requiredLevel)) {
|
if (player != null && !player.hasPermissions(requiredLevel)) {
|
||||||
player.sendSystemMessage(
|
player.sendSystemMessage(
|
||||||
Component.literal("해당 명령어를 실행할 권한이 없습니다.")
|
Component.literal("해당 명령어를 실행할 권한이 없습니다.").withStyle {
|
||||||
.withStyle { it.withColor(ChatFormatting.RED) }
|
it.withColor(ChatFormatting.RED)
|
||||||
|
}
|
||||||
)
|
)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
@ -42,49 +43,53 @@ object ChatCommand {
|
||||||
|
|
||||||
private fun registerReloadCommand(root: String, sub: String, event: RegisterCommandsEvent) {
|
private fun registerReloadCommand(root: String, sub: String, event: RegisterCommandsEvent) {
|
||||||
event.dispatcher.register(
|
event.dispatcher.register(
|
||||||
Commands.literal(root).then(
|
Commands.literal(root)
|
||||||
Commands.literal(sub).executes { context ->
|
.then(
|
||||||
val player = getPlayerOrNull(context.source)
|
Commands.literal(sub).executes { context ->
|
||||||
if (!hasPermissionOrSend(player)) return@executes 0
|
val player = getPlayerOrNull(context.source)
|
||||||
|
if (!hasPermissionOrSend(player)) return@executes 0
|
||||||
|
|
||||||
ChatConfig.loadConfig()
|
ChatConfig.loadConfig()
|
||||||
|
|
||||||
val success = Component.literal("채팅 형식을 새로고침했습니다.")
|
val success =
|
||||||
.withStyle { it.withColor(ChatFormatting.GOLD) }
|
Component.literal("채팅 형식을 새로고침했습니다.").withStyle {
|
||||||
|
it.withColor(ChatFormatting.GOLD)
|
||||||
|
}
|
||||||
|
|
||||||
if (player == null)
|
if (player == null)
|
||||||
context.source.sendSuccess({ success }, false)
|
context.source.sendSuccess({ success }, false)
|
||||||
else
|
else player.sendSystemMessage(success)
|
||||||
player.sendSystemMessage(success)
|
|
||||||
|
|
||||||
1
|
1
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun registerClearCommand(root: String, sub: String, event: RegisterCommandsEvent) {
|
private fun registerClearCommand(root: String, sub: String, event: RegisterCommandsEvent) {
|
||||||
event.dispatcher.register(
|
event.dispatcher.register(
|
||||||
Commands.literal(root).then(
|
Commands.literal(root)
|
||||||
Commands.literal(sub).executes { context ->
|
.then(
|
||||||
val player = getPlayerOrNull(context.source)
|
Commands.literal(sub).executes { context ->
|
||||||
if (!hasPermissionOrSend(player)) return@executes 0
|
val player = getPlayerOrNull(context.source)
|
||||||
|
if (!hasPermissionOrSend(player)) return@executes 0
|
||||||
|
|
||||||
val server = context.source.server
|
val server = context.source.server
|
||||||
val allPlayers = server.playerList.players.filterIsInstance<ServerPlayer>()
|
val allPlayers =
|
||||||
ChatUtils.clearChatForAll(allPlayers)
|
server.playerList.players.filterIsInstance<
|
||||||
|
ServerPlayer>()
|
||||||
|
ChatUtils.clearChatForAll(allPlayers)
|
||||||
|
|
||||||
server.playerList.broadcastSystemMessage(
|
server.playerList.broadcastSystemMessage(
|
||||||
Component.literal("📢")
|
Component.literal("\u00A0\u00A0채팅창을 비웠습니다.").withStyle {
|
||||||
.append(Component.literal("\u00A0\u00A0채팅창을 비웠습니다.")
|
it.withColor(ChatFormatting.AQUA)
|
||||||
.withStyle { it.withColor(ChatFormatting.AQUA) }
|
},
|
||||||
),
|
false
|
||||||
false
|
)
|
||||||
)
|
|
||||||
|
|
||||||
1
|
1
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Add table
Reference in a new issue