This commit is contained in:
2025-07-09 14:43:09 +02:00
commit 5775534cb2
24 changed files with 371 additions and 0 deletions

View File

@@ -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;
}
}

View File

@@ -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;
}
}

View File

@@ -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();
}
}
}

View File

@@ -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());
}
}