Skip to content

Commit adb8817

Browse files
committed
SpawnCommand.kt cleanup.
Signed-off-by: Pavel Erokhin (MairwunNx) <MairwunNx@gmail.com>
1 parent 51cfe3f commit adb8817

File tree

1 file changed

+34
-47
lines changed
  • src/main/kotlin/com/mairwunnx/projectessentials/spawn/commands

1 file changed

+34
-47
lines changed

src/main/kotlin/com/mairwunnx/projectessentials/spawn/commands/SpawnCommand.kt

Lines changed: 34 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
package com.mairwunnx.projectessentials.spawn.commands
22

3+
import com.mairwunnx.projectessentials.cooldown.essentials.CommandsAliases
4+
import com.mairwunnx.projectessentials.core.extensions.isPlayerSender
5+
import com.mairwunnx.projectessentials.core.extensions.sendMsg
6+
import com.mairwunnx.projectessentials.core.helpers.ONLY_PLAYER_CAN
7+
import com.mairwunnx.projectessentials.core.helpers.PERMISSION_LEVEL
38
import com.mairwunnx.projectessentials.spawn.EntryPoint
9+
import com.mairwunnx.projectessentials.spawn.EntryPoint.Companion.hasPermission
10+
import com.mairwunnx.projectessentials.spawn.EntryPoint.Companion.modInstance
411
import com.mairwunnx.projectessentials.spawn.models.SpawnModelBase
5-
import com.mairwunnx.projectessentialscooldown.essentials.CommandsAliases
6-
import com.mairwunnx.projectessentialscore.extensions.isPlayerSender
7-
import com.mairwunnx.projectessentialscore.extensions.sendMsg
8-
import com.mairwunnx.projectessentialscore.helpers.ONLY_PLAYER_CAN
9-
import com.mairwunnx.projectessentialscore.helpers.PERMISSION_LEVEL
10-
import com.mairwunnx.projectessentialspermissions.permissions.PermissionsAPI
1112
import com.mojang.brigadier.CommandDispatcher
1213
import com.mojang.brigadier.builder.LiteralArgumentBuilder.literal
1314
import com.mojang.brigadier.context.CommandContext
@@ -22,45 +23,31 @@ object SpawnCommand {
2223
private val logger = LogManager.getLogger()
2324

2425
fun register(dispatcher: CommandDispatcher<CommandSource>) {
25-
logger.info(" - register \"/spawn\" command ...")
26+
logger.info("Register \"/spawn\" command")
27+
applyCommandAliases()
28+
2629
aliases.forEach { command ->
2730
dispatcher.register(
28-
literal<CommandSource>(command).executes {
29-
return@executes execute(it)
30-
}.then(
31-
Commands.literal("reload").executes {
32-
return@executes reload(it)
33-
}
31+
literal<CommandSource>(command).executes(::execute).then(
32+
Commands.literal("reload").executes(::reload)
3433
).then(
35-
Commands.literal("save").executes {
36-
return@executes save(it)
37-
}
34+
Commands.literal("save").executes(::save)
3835
).then(
39-
Commands.literal("version").executes {
40-
return@executes version(it)
41-
}
36+
Commands.literal("version").executes(::version)
4237
)
4338
)
4439
}
45-
applyCommandAliases()
4640
}
4741

4842
private fun applyCommandAliases() {
49-
try {
50-
Class.forName(
51-
"com.mairwunnx.projectessentialscooldown.essentials.CommandsAliases"
52-
)
53-
CommandsAliases.aliases["spawn"] = aliases.toMutableList()
54-
logger.info(" - applying aliases: $aliases")
55-
} catch (_: ClassNotFoundException) {
56-
// ignored
57-
}
43+
if (!EntryPoint.cooldownsInstalled) return
44+
CommandsAliases.aliases["spawn"] = aliases.toMutableList()
5845
}
5946

6047
private fun execute(c: CommandContext<CommandSource>): Int {
6148
if (c.isPlayerSender()) {
6249
val playerName = c.source.asPlayer().name.string
63-
if (PermissionsAPI.hasPermission(playerName, "ess.spawn")) {
50+
if (hasPermission(c.source.asPlayer(), "ess.spawn", 0)) {
6451
moveToSpawn(c.source.asPlayer())
6552
logger.info("Executed command \"${c.input}\" from $playerName")
6653
sendMsg("spawn", c.source, "spawn.success")
@@ -94,7 +81,7 @@ object SpawnCommand {
9481
private fun reload(c: CommandContext<CommandSource>): Int {
9582
if (c.isPlayerSender()) {
9683
val playerName = c.source.asPlayer().name.string
97-
if (!PermissionsAPI.hasPermission(playerName, "ess.spawn.reload")) {
84+
if (!hasPermission(c.source.asPlayer(), "ess.spawn.reload")) {
9885
sendMsg("spawn", c.source, "spawn.reload.restricted")
9986
logger.info(
10087
PERMISSION_LEVEL
@@ -119,7 +106,7 @@ object SpawnCommand {
119106
private fun save(c: CommandContext<CommandSource>): Int {
120107
if (c.isPlayerSender()) {
121108
val playerName = c.source.asPlayer().name.string
122-
if (!PermissionsAPI.hasPermission(playerName, "ess.spawn.save")) {
109+
if (!hasPermission(c.source.asPlayer(), "ess.spawn.save")) {
123110
sendMsg("spawn", c.source, "spawn.save.restricted")
124111
logger.info(
125112
PERMISSION_LEVEL
@@ -143,7 +130,7 @@ object SpawnCommand {
143130
private fun version(c: CommandContext<CommandSource>): Int {
144131
if (c.isPlayerSender()) {
145132
val playerName = c.source.asPlayer().name.string
146-
if (!PermissionsAPI.hasPermission(playerName, "ess.spawn.version")) {
133+
if (!hasPermission(c.source.asPlayer(), "ess.spawn.version", 3)) {
147134
sendMsg("spawn", c.source, "spawn.version.restricted")
148135
logger.info(
149136
PERMISSION_LEVEL
@@ -159,23 +146,23 @@ object SpawnCommand {
159146
"spawn",
160147
c.source,
161148
"spawn.version.success",
162-
EntryPoint.modInstance.modName,
163-
EntryPoint.modInstance.modVersion,
164-
EntryPoint.modInstance.modMaintainer,
165-
EntryPoint.modInstance.modTargetForge,
166-
EntryPoint.modInstance.modTargetMC,
167-
EntryPoint.modInstance.modSources,
168-
EntryPoint.modInstance.modTelegram
149+
modInstance.modName,
150+
modInstance.modVersion,
151+
modInstance.modMaintainer,
152+
modInstance.modTargetForge,
153+
modInstance.modTargetMC,
154+
modInstance.modSources,
155+
modInstance.modTelegram
169156
)
170157
logger.info("Executed command \"${c.input}\" from $playerName")
171158
} else {
172-
logger.info(" ${EntryPoint.modInstance.modName}")
173-
logger.info("Version: ${EntryPoint.modInstance.modVersion}")
174-
logger.info("Maintainer: ${EntryPoint.modInstance.modMaintainer}")
175-
logger.info("Target Forge version: ${EntryPoint.modInstance.modTargetForge}")
176-
logger.info("Target Minecraft version: ${EntryPoint.modInstance.modTargetMC}")
177-
logger.info("Source code: ${EntryPoint.modInstance.modSources}")
178-
logger.info("Telegram chat: ${EntryPoint.modInstance.modTelegram}")
159+
logger.info(" ${modInstance.modName}")
160+
logger.info("Version: ${modInstance.modVersion}")
161+
logger.info("Maintainer: ${modInstance.modMaintainer}")
162+
logger.info("Target Forge version: ${modInstance.modTargetForge}")
163+
logger.info("Target Minecraft version: ${modInstance.modTargetMC}")
164+
logger.info("Source code: ${modInstance.modSources}")
165+
logger.info("Telegram chat: ${modInstance.modTelegram}")
179166
}
180167
return 0
181168
}

0 commit comments

Comments
 (0)