UTD
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
package si.jernejtdo.LitePermissions.Spigot;
|
||||
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import si.jernejtdo.LitePermissions.Spigot.Permissible.PlayerJoinInject;
|
||||
|
||||
public class LitePermissions extends JavaPlugin {
|
||||
|
||||
private static LitePermissions plugin;
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
plugin = this;
|
||||
|
||||
plugin.getServer().getPluginManager().registerEvents(new PlayerJoinInject(), plugin);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
|
||||
}
|
||||
|
||||
public static LitePermissions getPlugin() {
|
||||
return plugin;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package si.jernejtdo.LitePermissions.Spigot.Permissible;
|
||||
|
||||
import org.bukkit.permissions.PermissibleBase;
|
||||
import org.bukkit.permissions.ServerOperator;
|
||||
|
||||
public class CustomPermissible extends PermissibleBase {
|
||||
|
||||
public CustomPermissible(ServerOperator opable) {
|
||||
super(opable);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(String inName) {
|
||||
return checkPermissions(inName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasPermission(org.bukkit.permissions.Permission perm) {
|
||||
return checkPermissions(perm.toString());
|
||||
}
|
||||
|
||||
public boolean checkPermissions(String inName) {
|
||||
boolean has = false;
|
||||
|
||||
/*
|
||||
* My check logic
|
||||
* Get all permissions from RamData
|
||||
* Check if player has permission
|
||||
*
|
||||
*/
|
||||
|
||||
return has;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package si.jernejtdo.LitePermissions.Spigot.Permissible;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
|
||||
public class PermissionInjector {
|
||||
|
||||
public static void injectCustomPermissible(Player player) {
|
||||
try {
|
||||
Field permField = player.getClass().getDeclaredField("perm");
|
||||
permField.setAccessible(true);
|
||||
CustomPermissible customPerm = new CustomPermissible(player);
|
||||
permField.set(player, customPerm);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package si.jernejtdo.LitePermissions.Spigot.Permissible;
|
||||
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
|
||||
public class PlayerJoinInject implements Listener {
|
||||
|
||||
@EventHandler
|
||||
public void onJoinInject(PlayerJoinEvent event) {
|
||||
PermissionInjector.injectCustomPermissible(event.getPlayer());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user