001package com.ericlam.mc.bungee.hnmc.permission; 002 003 004import net.md_5.bungee.api.CommandSender; 005 006import java.util.ArrayList; 007import java.util.List; 008 009public class Perm { 010 public static final String ADMIN = "hypernite.admin"; 011 public static final String HELPER = "hypernite.helper"; 012 public static final String MOD = "hypernite.mod"; 013 public static final String BUILDER = "hypernite.builder"; 014 public static final String DONOR = "hypernite.donor"; 015 public static final String DEVELOPER = "hypernite.developer"; 016 public static final String OWNER = "*"; 017 018 public static boolean hasPermission(CommandSender sender, String permission) { 019 boolean reuslt = false; 020 if (permission == null) return true; 021 for (String Pnode : getPermHierarchy(permission)) { 022 reuslt = reuslt || sender.hasPermission(Pnode); 023 } 024 return reuslt; 025 } 026 027 public static List<String> getPermHierarchy(String string) { 028 String[] node = string.split("\\."); 029 List<String> permissionNode = new ArrayList<>(); 030 StringBuilder stringBuilder = new StringBuilder(); 031 for (int i = 0; i < node.length; i++) { 032 stringBuilder.append(node[i]); 033 permissionNode.add(stringBuilder.toString()); 034 if (i != node.length - 1) stringBuilder.append("."); 035 } 036 return permissionNode; 037 } 038}