1
1
package com.mairwunnx.projectessentials.spawn
2
2
3
3
import com.mairwunnx.projectessentials.core.EssBase
4
+ import com.mairwunnx.projectessentials.permissions.permissions.PermissionsAPI
4
5
import com.mairwunnx.projectessentials.spawn.commands.SetSpawnCommand
5
6
import com.mairwunnx.projectessentials.spawn.commands.SpawnCommand
6
7
import com.mairwunnx.projectessentials.spawn.models.SpawnModelBase
@@ -63,6 +64,7 @@ class EntryPoint : EssBase() {
63
64
private fun registerCommands (
64
65
cmdDispatcher : CommandDispatcher <CommandSource >
65
66
) {
67
+ loadAdditionalModules()
66
68
SpawnCommand .register(cmdDispatcher)
67
69
SetSpawnCommand .register(cmdDispatcher)
68
70
}
@@ -80,7 +82,36 @@ class EntryPoint : EssBase() {
80
82
}
81
83
}
82
84
85
+ private fun loadAdditionalModules () {
86
+ try {
87
+ Class .forName(
88
+ " com.mairwunnx.projectessentials.cooldown.essentials.CommandsAliases"
89
+ )
90
+ cooldownsInstalled = true
91
+ } catch (_: ClassNotFoundException ) {
92
+ // ignored
93
+ }
94
+
95
+ try {
96
+ Class .forName(
97
+ " com.mairwunnx.projectessentials.permissions.permissions.PermissionsAPI"
98
+ )
99
+ permissionsInstalled = true
100
+ } catch (_: ClassNotFoundException ) {
101
+ // ignored
102
+ }
103
+ }
104
+
83
105
companion object {
84
106
lateinit var modInstance: EntryPoint
107
+ var cooldownsInstalled: Boolean = false
108
+ var permissionsInstalled: Boolean = false
109
+
110
+ fun hasPermission (player : ServerPlayerEntity , node : String , opLevel : Int = 4): Boolean =
111
+ if (permissionsInstalled) {
112
+ PermissionsAPI .hasPermission(player.name.string, node)
113
+ } else {
114
+ player.server.opPermissionLevel >= opLevel
115
+ }
85
116
}
86
117
}
0 commit comments