64 lines
2.1 KiB
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()));
|
|
}
|
|
}
|
|
}
|