1
1
package com.mairwunnx.projectessentials.spawn.commands
2
2
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
3
8
import com.mairwunnx.projectessentials.spawn.EntryPoint
9
+ import com.mairwunnx.projectessentials.spawn.EntryPoint.Companion.hasPermission
10
+ import com.mairwunnx.projectessentials.spawn.EntryPoint.Companion.modInstance
4
11
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
11
12
import com.mojang.brigadier.CommandDispatcher
12
13
import com.mojang.brigadier.builder.LiteralArgumentBuilder.literal
13
14
import com.mojang.brigadier.context.CommandContext
@@ -22,45 +23,31 @@ object SpawnCommand {
22
23
private val logger = LogManager .getLogger()
23
24
24
25
fun register (dispatcher : CommandDispatcher <CommandSource >) {
25
- logger.info(" - register \" /spawn\" command ..." )
26
+ logger.info(" Register \" /spawn\" command" )
27
+ applyCommandAliases()
28
+
26
29
aliases.forEach { command ->
27
30
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)
34
33
).then(
35
- Commands .literal(" save" ).executes {
36
- return @executes save(it)
37
- }
34
+ Commands .literal(" save" ).executes(::save)
38
35
).then(
39
- Commands .literal(" version" ).executes {
40
- return @executes version(it)
41
- }
36
+ Commands .literal(" version" ).executes(::version)
42
37
)
43
38
)
44
39
}
45
- applyCommandAliases()
46
40
}
47
41
48
42
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()
58
45
}
59
46
60
47
private fun execute (c : CommandContext <CommandSource >): Int {
61
48
if (c.isPlayerSender()) {
62
49
val playerName = c.source.asPlayer().name.string
63
- if (PermissionsAPI . hasPermission(playerName , " ess.spawn" )) {
50
+ if (hasPermission(c.source.asPlayer() , " ess.spawn" , 0 )) {
64
51
moveToSpawn(c.source.asPlayer())
65
52
logger.info(" Executed command \" ${c.input} \" from $playerName " )
66
53
sendMsg(" spawn" , c.source, " spawn.success" )
@@ -94,7 +81,7 @@ object SpawnCommand {
94
81
private fun reload (c : CommandContext <CommandSource >): Int {
95
82
if (c.isPlayerSender()) {
96
83
val playerName = c.source.asPlayer().name.string
97
- if (! PermissionsAPI . hasPermission(playerName , " ess.spawn.reload" )) {
84
+ if (! hasPermission(c.source.asPlayer() , " ess.spawn.reload" )) {
98
85
sendMsg(" spawn" , c.source, " spawn.reload.restricted" )
99
86
logger.info(
100
87
PERMISSION_LEVEL
@@ -119,7 +106,7 @@ object SpawnCommand {
119
106
private fun save (c : CommandContext <CommandSource >): Int {
120
107
if (c.isPlayerSender()) {
121
108
val playerName = c.source.asPlayer().name.string
122
- if (! PermissionsAPI . hasPermission(playerName , " ess.spawn.save" )) {
109
+ if (! hasPermission(c.source.asPlayer() , " ess.spawn.save" )) {
123
110
sendMsg(" spawn" , c.source, " spawn.save.restricted" )
124
111
logger.info(
125
112
PERMISSION_LEVEL
@@ -143,7 +130,7 @@ object SpawnCommand {
143
130
private fun version (c : CommandContext <CommandSource >): Int {
144
131
if (c.isPlayerSender()) {
145
132
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 )) {
147
134
sendMsg(" spawn" , c.source, " spawn.version.restricted" )
148
135
logger.info(
149
136
PERMISSION_LEVEL
@@ -159,23 +146,23 @@ object SpawnCommand {
159
146
" spawn" ,
160
147
c.source,
161
148
" 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
169
156
)
170
157
logger.info(" Executed command \" ${c.input} \" from $playerName " )
171
158
} 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} " )
179
166
}
180
167
return 0
181
168
}
0 commit comments