TotalFreedomMod/commons/src/main/java/me/totalfreedom/totalfreedommod/bridge/LuckPermsBridge.java

64 lines
2.1 KiB
Java

package me.totalfreedom.totalfreedommod.bridge;
import me.totalfreedom.totalfreedommod.TotalFreedomMod;
import net.luckperms.api.LuckPerms;
import net.luckperms.api.track.TrackManager;
import org.bukkit.Bukkit;
import org.bukkit.plugin.RegisteredServiceProvider;
import org.bukkit.plugin.UnknownDependencyException;
public class LuckPermsBridge
{
private final LuckPerms luckPerms;
public LuckPermsBridge()
{
RegisteredServiceProvider<LuckPerms> provider = Bukkit.getServicesManager()
.getRegistration(LuckPerms.class);
if (provider == null) throw new UnknownDependencyException("LuckPerms must be present!");
this.luckPerms = provider.getProvider();
setupTracks();
}
public LuckPerms getAPI()
{
return luckPerms;
}
public void setupTracks()
{
TrackManager trackManager = getAPI().getTrackManager();
if (!trackManager.isLoaded("fakeOp"))
{
trackManager.createAndLoadTrack("fakeOp").whenComplete((track, exception) ->
{
track.appendGroup(TotalFreedomMod.getPlugin().getHierarchy().groups().getNonOp().getLuckPermsGroup());
track.appendGroup(TotalFreedomMod.getPlugin().getHierarchy().groups().getOp().getLuckPermsGroup());
});
}
if (!trackManager.isLoaded("admin"))
{
trackManager.createAndLoadTrack("admin").whenComplete((track, exception) ->
{
track.appendGroup(TotalFreedomMod.getPlugin().getHierarchy().groups().getAdmin().getLuckPermsGroup());
track.appendGroup(TotalFreedomMod.getPlugin().getHierarchy().groups().getSeniorAdmin().getLuckPermsGroup());
});
}
if (!trackManager.isLoaded("builder"))
{
trackManager.createAndLoadTrack("builder").whenComplete((track, exception) ->
track.appendGroup(TotalFreedomMod.getPlugin()
.getHierarchy()
.groups()
.getMasterBuilder()
.getLuckPermsGroup()));
}
}
}