11package com.mairwunnx.projectessentials.spawn
22
33import com.mairwunnx.projectessentials.core.EssBase
4+ import com.mairwunnx.projectessentials.permissions.permissions.PermissionsAPI
45import com.mairwunnx.projectessentials.spawn.commands.SetSpawnCommand
56import com.mairwunnx.projectessentials.spawn.commands.SpawnCommand
67import com.mairwunnx.projectessentials.spawn.models.SpawnModelBase
@@ -63,6 +64,7 @@ class EntryPoint : EssBase() {
6364 private fun registerCommands (
6465 cmdDispatcher : CommandDispatcher <CommandSource >
6566 ) {
67+ loadAdditionalModules()
6668 SpawnCommand .register(cmdDispatcher)
6769 SetSpawnCommand .register(cmdDispatcher)
6870 }
@@ -80,7 +82,36 @@ class EntryPoint : EssBase() {
8082 }
8183 }
8284
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+
83105 companion object {
84106 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+ }
85116 }
86117}
0 commit comments