Skip to content

Commit

Permalink
Corrections to LuckPerms API handling
Browse files Browse the repository at this point in the history
I mean, the methods are named more relevantly with this version, but still... why is LPBukkitPlugin not an instance of BukkitPlugin? Why would you do this?
  • Loading branch information
mcmonkey4eva committed Mar 3, 2020
1 parent e234f07 commit 472466a
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,17 @@
import com.denizenscript.denizencore.tags.Attribute;
import com.denizenscript.denizencore.tags.ReplaceableTagEvent;
import com.denizenscript.denizencore.tags.TagManager;
import me.lucko.luckperms.bukkit.LPBukkitPlugin;
import me.lucko.luckperms.common.model.Track;
import net.luckperms.api.LuckPerms;
import net.luckperms.api.LuckPermsProvider;
import net.luckperms.api.track.Track;

public class LuckPermsBridge extends Bridge {

public static LPBukkitPlugin luckPermsInstance;
public static LuckPerms luckPermsInstance;

@Override
public void init() {
luckPermsInstance = (LPBukkitPlugin) plugin;
luckPermsInstance = LuckPermsProvider.get();
TagManager.registerTagHandler(new TagRunnable.RootForm() {
@Override
public void run(ReplaceableTagEvent event) {
Expand All @@ -43,7 +44,7 @@ public void tagEvent(ReplaceableTagEvent event) {
// -->
if (attribute.startsWith("list_tracks")) {
ListTag tracks = new ListTag();
for (Track track : luckPermsInstance.getTrackManager().getAll().values()) {
for (Track track : luckPermsInstance.getTrackManager().getLoadedTracks()) {
tracks.addObject(new LuckPermsTrackTag(track));
}
event.setReplacedObject(tracks.getObjectAttribute(attribute.fulfill(1)));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import com.denizenscript.denizencore.tags.Attribute;
import com.denizenscript.denizencore.tags.TagContext;
import com.denizenscript.depenizen.bukkit.bridges.LuckPermsBridge;
import me.lucko.luckperms.common.model.Track;
import net.luckperms.api.track.Track;

public class LuckPermsTrackTag implements ObjectTag {

Expand Down Expand Up @@ -44,7 +44,7 @@ public static LuckPermsTrackTag valueOf(String string, TagContext context) {

string = string.replace("luckpermstrack@", "");
try {
Track track = LuckPermsBridge.luckPermsInstance.getTrackManager().getIfLoaded(string);
Track track = LuckPermsBridge.luckPermsInstance.getTrackManager().getTrack(string);
if (track == null) {
return null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
import com.denizenscript.denizencore.objects.core.ListTag;
import com.denizenscript.denizencore.objects.ObjectTag;
import com.denizenscript.denizencore.tags.Attribute;
import me.lucko.luckperms.common.model.Group;
import me.lucko.luckperms.common.model.Track;
import me.lucko.luckperms.common.model.User;
import net.luckperms.api.model.group.Group;
import net.luckperms.api.model.user.User;
import net.luckperms.api.node.NodeType;
import net.luckperms.api.query.QueryOptions;
import net.luckperms.api.track.Track;

public class LuckPermsPlayerProperties implements Property {

Expand Down Expand Up @@ -64,10 +64,10 @@ public String getAttribute(Attribute attribute) {
// -->
if (attribute.startsWith("luckperms_tracks")) {
ListTag tracks = new ListTag();
User user = LuckPermsBridge.luckPermsInstance.getUserManager().getOrMake(player.getOfflinePlayer().getUniqueId());
for (Track track : LuckPermsBridge.luckPermsInstance.getTrackManager().getAll().values()) {
User user = LuckPermsBridge.luckPermsInstance.getUserManager().getUser(player.getOfflinePlayer().getUniqueId());
for (Track track : LuckPermsBridge.luckPermsInstance.getTrackManager().getLoadedTracks()) {
for (String groupName : track.getGroups()) {
Group group = LuckPermsBridge.luckPermsInstance.getGroupManager().getOrMake(groupName);
Group group = LuckPermsBridge.luckPermsInstance.getGroupManager().getGroup(groupName);
// Copied from https://github.com/LuckPerms/extension-legacy-api/blob/97f30ce63b32663a0481557f3a081a9554a5bca0/src/main/java/me/lucko/luckperms/extension/legacyapi/impl/permissionholders/PermissionHolderProxy.java#L205-L212
boolean inGroup = user.resolveInheritedNodes(QueryOptions.nonContextual()).stream()
.filter(NodeType.INHERITANCE::matches)
Expand Down

0 comments on commit 472466a

Please sign in to comment.