diff --git a/src/main/java/org/retromc/retrobridge/bridge/BridgeManager.java b/src/main/java/org/retromc/retrobridge/bridge/BridgeManager.java index eacf238..3b4a205 100644 --- a/src/main/java/org/retromc/retrobridge/bridge/BridgeManager.java +++ b/src/main/java/org/retromc/retrobridge/bridge/BridgeManager.java @@ -22,6 +22,7 @@ import org.retromc.retrobridge.bridge.permission.DummyPermissionProvider; import org.retromc.retrobridge.bridge.permission.PermissionBridge; import org.retromc.retrobridge.bridge.permission.PermissionProvider; +import org.retromc.retrobridge.bridge.permission.jperms.JPermsPermissionProvider; import org.retromc.retrobridge.bridge.vanish.DummyVanishProvider; import org.retromc.retrobridge.bridge.vanish.VanishBridge; import org.retromc.retrobridge.bridge.vanish.VanishProvider; @@ -65,6 +66,7 @@ public void initialize() { registerBuiltinProvider(new DummyEconomyProvider(bridgePluginName)); // Permission providers + registerBuiltinProvider(new JPermsPermissionProvider(bridgePluginName)); registerBuiltinProvider(new DummyPermissionProvider(bridgePluginName)); diff --git a/src/main/java/org/retromc/retrobridge/bridge/permission/jperms/JPermsPermissionBridge.java b/src/main/java/org/retromc/retrobridge/bridge/permission/jperms/JPermsPermissionBridge.java new file mode 100644 index 0000000..6e9d811 --- /dev/null +++ b/src/main/java/org/retromc/retrobridge/bridge/permission/jperms/JPermsPermissionBridge.java @@ -0,0 +1,28 @@ +package org.retromc.retrobridge.bridge.permission.jperms; + +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.retromc.retrobridge.bridge.permission.PermissionBridge; + +import java.util.UUID; + +public class JPermsPermissionBridge implements PermissionBridge { + + @Override + public boolean has(UUID playerUuid, String permissionNode) { + Player player = Bukkit.getPlayer(playerUuid); + if (player != null) { + return player.hasPermission(permissionNode); + } + return false; + } + + @Override + public boolean isInGroup(UUID playerUuid, String groupName) { + Player player = Bukkit.getPlayer(playerUuid); + if (player != null) { + return player.hasPermission("group." + groupName.toLowerCase()); + } + return false; + } +} diff --git a/src/main/java/org/retromc/retrobridge/bridge/permission/jperms/JPermsPermissionProvider.java b/src/main/java/org/retromc/retrobridge/bridge/permission/jperms/JPermsPermissionProvider.java new file mode 100644 index 0000000..d77478b --- /dev/null +++ b/src/main/java/org/retromc/retrobridge/bridge/permission/jperms/JPermsPermissionProvider.java @@ -0,0 +1,19 @@ +package org.retromc.retrobridge.bridge.permission.jperms; + +import org.retromc.retrobridge.bridge.AbstractBridgeProvider; +import org.retromc.retrobridge.bridge.BridgeModuleType; +import org.retromc.retrobridge.bridge.permission.PermissionBridge; +import org.retromc.retrobridge.bridge.permission.PermissionProvider; + +public class JPermsPermissionProvider extends AbstractBridgeProvider implements PermissionProvider { + private final PermissionBridge bridge = new JPermsPermissionBridge(); + + public JPermsPermissionProvider(String ownerPluginName) { + super("JPerms", ownerPluginName, BridgeModuleType.PERMISSIONS, "JPerms"); + } + + @Override + public PermissionBridge getPermissionBridge() { + return bridge; + } +}