11package com.mairwunnx.projectessentials.projectessentialshome
22
3+ import com.mairwunnx.projectessentials.core.EssBase
4+ import com.mairwunnx.projectessentials.permissions.permissions.PermissionsAPI
35import com.mairwunnx.projectessentials.projectessentialshome.commands.DelHomeCommand
46import com.mairwunnx.projectessentials.projectessentialshome.commands.HomeCommand
57import com.mairwunnx.projectessentials.projectessentialshome.commands.SetHomeCommand
68import com.mairwunnx.projectessentials.projectessentialshome.storage.StorageBase
7- import com.mairwunnx.projectessentialscore.EssBase
89import com.mojang.brigadier.CommandDispatcher
910import net.minecraft.command.CommandSource
11+ import net.minecraft.entity.player.ServerPlayerEntity
1012import net.minecraftforge.common.MinecraftForge
1113import net.minecraftforge.eventbus.api.SubscribeEvent
1214import net.minecraftforge.fml.common.Mod
@@ -21,25 +23,22 @@ class EntryPoint : EssBase() {
2123
2224 init {
2325 modInstance = this
24- modVersion = " 1.14.4-1.0.0 .0"
26+ modVersion = " 1.14.4-1.1 .0"
2527 logBaseInfo()
2628 validateForgeVersion()
27- logger.debug(" Register event bus for $modName mod ..." )
2829 MinecraftForge .EVENT_BUS .register(this )
29- logger.info(" Loading modification user home data ..." )
3030 StorageBase .loadUserData()
3131 }
3232
3333 @SubscribeEvent
3434 fun onServerStarting (event : FMLServerStartingEvent ) {
35- logger.info(" $modName starting mod loading ..." )
3635 registerCommands(event.server.commandManager.dispatcher)
3736 }
3837
3938 private fun registerCommands (
4039 cmdDispatcher : CommandDispatcher <CommandSource >
4140 ) {
42- logger.info( " Command registering is starting ... " )
41+ loadAdditionalModules( )
4342 HomeCommand .register(cmdDispatcher)
4443 SetHomeCommand .register(cmdDispatcher)
4544 DelHomeCommand .register(cmdDispatcher)
@@ -48,12 +47,39 @@ class EntryPoint : EssBase() {
4847 @Suppress(" UNUSED_PARAMETER" )
4948 @SubscribeEvent
5049 fun onServerStopping (it : FMLServerStoppingEvent ) {
51- logger.info(" Shutting down $modName mod ..." )
52- logger.info(" - Saving modification user home data ..." )
5350 StorageBase .saveUserData()
5451 }
5552
53+ private fun loadAdditionalModules () {
54+ try {
55+ Class .forName(
56+ " com.mairwunnx.projectessentials.cooldown.essentials.CommandsAliases"
57+ )
58+ cooldownsInstalled = true
59+ } catch (_: ClassNotFoundException ) {
60+ // ignored
61+ }
62+
63+ try {
64+ Class .forName(
65+ " com.mairwunnx.projectessentials.permissions.permissions.PermissionsAPI"
66+ )
67+ permissionsInstalled = true
68+ } catch (_: ClassNotFoundException ) {
69+ // ignored
70+ }
71+ }
72+
5673 companion object {
5774 lateinit var modInstance: EntryPoint
75+ var cooldownsInstalled: Boolean = false
76+ var permissionsInstalled: Boolean = false
77+
78+ fun hasPermission (player : ServerPlayerEntity , node : String , opLevel : Int = 2): Boolean =
79+ if (permissionsInstalled) {
80+ PermissionsAPI .hasPermission(player.name.string, node)
81+ } else {
82+ player.server.opPermissionLevel >= opLevel
83+ }
5884 }
5985}
0 commit comments