/src/com/gmail/nossr50/mcPermissions.java

https://github.com/krinsdeath/mcMMO · Java · 315 lines · 303 code · 12 blank · 0 comment · 80 complexity · 655b50e4000258c23fa219c7f93d4c8e MD5 · raw file

  1. package com.gmail.nossr50;
  2. import java.util.logging.Logger;
  3. import org.bukkit.Server;
  4. import org.bukkit.entity.Player;
  5. import org.bukkit.plugin.Plugin;
  6. import ru.tehkode.permissions.PermissionManager;
  7. import ru.tehkode.permissions.bukkit.PermissionsEx;
  8. import com.nijiko.permissions.PermissionHandler;
  9. import com.nijikokun.bukkit.Permissions.Permissions;
  10. public class mcPermissions
  11. {
  12. private static volatile mcPermissions instance;
  13. private enum PermissionType {
  14. PEX, PERMISSIONS, BUKKIT
  15. }
  16. private static PermissionType permissionType;
  17. private static Object PHandle;
  18. public static boolean permissionsEnabled = false;
  19. public static void initialize(Server server)
  20. {
  21. Logger log = Logger.getLogger("Minecraft");
  22. if(permissionsEnabled && permissionType != PermissionType.PERMISSIONS) return;
  23. Plugin PEXtest = server.getPluginManager().getPlugin("PermissionsEx");
  24. Plugin test = server.getPluginManager().getPlugin("Permissions");
  25. if(PEXtest != null) {
  26. PHandle = (PermissionManager) PermissionsEx.getPermissionManager();
  27. permissionType = PermissionType.PEX;
  28. permissionsEnabled = true;
  29. log.info("[mcMMO] PermissionsEx found, using PermissionsEx.");
  30. } else if(test != null) {
  31. PHandle = (PermissionHandler) ((Permissions) test).getHandler();
  32. permissionType = PermissionType.PERMISSIONS;
  33. permissionsEnabled = true;
  34. log.info("[mcMMO] Permissions version "+test.getDescription().getVersion()+" found, using Permissions.");
  35. } else {
  36. permissionType = PermissionType.BUKKIT;
  37. permissionsEnabled = true;
  38. log.info("[mcMMO] Using Bukkit Permissions.");
  39. }
  40. }
  41. public static boolean getEnabled()
  42. {
  43. return permissionsEnabled;
  44. }
  45. public static boolean permission(Player player, String permission)
  46. {
  47. if(!permissionsEnabled) return player.isOp();
  48. switch(permissionType) {
  49. case PEX:
  50. return ((PermissionManager) PHandle).has(player, permission);
  51. case PERMISSIONS:
  52. return ((PermissionHandler) PHandle).has(player, permission);
  53. case BUKKIT:
  54. return player.hasPermission(permission);
  55. default:
  56. return true;
  57. }
  58. }
  59. public boolean admin(Player player){
  60. if (permissionsEnabled) {
  61. return permission(player, "mcmmo.admin");
  62. } else {
  63. return true;
  64. }
  65. }
  66. public boolean mcrefresh(Player player) {
  67. if (permissionsEnabled) {
  68. return permission(player, "mcmmo.tools.mcrefresh");
  69. } else {
  70. return true;
  71. }
  72. }
  73. public boolean mmoedit(Player player) {
  74. if (permissionsEnabled) {
  75. return permission(player, "mcmmo.tools.mmoedit");
  76. } else {
  77. return true;
  78. }
  79. }
  80. public boolean herbalismAbility(Player player){
  81. if (permissionsEnabled) {
  82. return permission(player, "mcmmo.ability.herbalism");
  83. } else {
  84. return true;
  85. }
  86. }
  87. public boolean excavationAbility(Player player){
  88. if (permissionsEnabled) {
  89. return permission(player, "mcmmo.ability.excavation");
  90. } else {
  91. return true;
  92. }
  93. }
  94. public boolean unarmedAbility(Player player){
  95. if (permissionsEnabled) {
  96. return permission(player, "mcmmo.ability.unarmed");
  97. } else {
  98. return true;
  99. }
  100. }
  101. public boolean chimaeraWing(Player player){
  102. if (permissionsEnabled) {
  103. return permission(player, "mcmmo.item.chimaerawing");
  104. } else {
  105. return true;
  106. }
  107. }
  108. public boolean miningAbility(Player player){
  109. if (permissionsEnabled) {
  110. return permission(player, "mcmmo.ability.mining");
  111. } else {
  112. return true;
  113. }
  114. }
  115. public boolean axesAbility(Player player){
  116. if (permissionsEnabled) {
  117. return permission(player, "mcmmo.ability.axes");
  118. } else {
  119. return true;
  120. }
  121. }
  122. public boolean swordsAbility(Player player){
  123. if (permissionsEnabled) {
  124. return permission(player, "mcmmo.ability.swords");
  125. } else {
  126. return true;
  127. }
  128. }
  129. public boolean woodCuttingAbility(Player player) {
  130. if (permissionsEnabled) {
  131. return permission(player, "mcmmo.ability.woodcutting");
  132. } else {
  133. return true;
  134. }
  135. }
  136. public boolean mcgod(Player player) {
  137. if (permissionsEnabled) {
  138. return permission(player, "mcmmo.tools.mcgod");
  139. } else {
  140. return true;
  141. }
  142. }
  143. public boolean regeneration(Player player){
  144. if (permissionsEnabled) {
  145. return permission(player, "mcmmo.regeneration");
  146. } else {
  147. return true;
  148. }
  149. }
  150. public boolean motd(Player player) {
  151. if (permissionsEnabled) {
  152. return permission(player, "mcmmo.motd");
  153. } else {
  154. return true;
  155. }
  156. }
  157. public boolean mcAbility(Player player) {
  158. if (permissionsEnabled) {
  159. return permission(player, "mcmmo.commands.ability");
  160. } else {
  161. return true;
  162. }
  163. }
  164. public boolean mySpawn(Player player) {
  165. if (permissionsEnabled) {
  166. return permission(player, "mcmmo.commands.myspawn");
  167. } else {
  168. return true;
  169. }
  170. }
  171. public boolean setMySpawn(Player player) {
  172. if (permissionsEnabled) {
  173. return permission(player, "mcmmo.commands.setmyspawn");
  174. } else {
  175. return true;
  176. }
  177. }
  178. public boolean partyChat(Player player) {
  179. if (permissionsEnabled) {
  180. return permission(player, "mcmmo.chat.partychat");
  181. } else {
  182. return true;
  183. }
  184. }
  185. public boolean partyLock(Player player) {
  186. if (permissionsEnabled) {
  187. return permission(player, "mcmmo.chat.partylock");
  188. } else {
  189. return true;
  190. }
  191. }
  192. public boolean partyTeleport(Player player) {
  193. if (permissionsEnabled) {
  194. return permission(player, "mcmmo.commands.ptp");
  195. } else {
  196. return true;
  197. }
  198. }
  199. public boolean whois(Player player) {
  200. if (permissionsEnabled) {
  201. return permission(player, "mcmmo.commands.whois");
  202. } else {
  203. return true;
  204. }
  205. }
  206. public boolean party(Player player) {
  207. if (permissionsEnabled) {
  208. return permission(player, "mcmmo.commands.party");
  209. } else {
  210. return true;
  211. }
  212. }
  213. public boolean adminChat(Player player) {
  214. if (permissionsEnabled) {
  215. return permission(player, "mcmmo.chat.adminchat");
  216. } else {
  217. return true;
  218. }
  219. }
  220. public static mcPermissions getInstance() {
  221. if (instance == null) {
  222. instance = new mcPermissions();
  223. }
  224. return instance;
  225. }
  226. public boolean taming(Player player) {
  227. if (permissionsEnabled) {
  228. return permission(player, "mcmmo.skills.taming");
  229. } else {
  230. return true;
  231. }
  232. }
  233. public boolean mining(Player player) {
  234. if (permissionsEnabled) {
  235. return permission(player, "mcmmo.skills.mining");
  236. } else {
  237. return true;
  238. }
  239. }
  240. public boolean woodcutting(Player player) {
  241. if (permissionsEnabled) {
  242. return permission(player, "mcmmo.skills.woodcutting");
  243. } else {
  244. return true;
  245. }
  246. }
  247. public boolean repair(Player player) {
  248. if (permissionsEnabled) {
  249. return permission(player, "mcmmo.skills.repair");
  250. } else {
  251. return true;
  252. }
  253. }
  254. public boolean unarmed(Player player) {
  255. if (permissionsEnabled) {
  256. return permission(player, "mcmmo.skills.unarmed");
  257. } else {
  258. return true;
  259. }
  260. }
  261. public boolean archery(Player player) {
  262. if (permissionsEnabled) {
  263. return permission(player, "mcmmo.skills.archery");
  264. } else {
  265. return true;
  266. }
  267. }
  268. public boolean herbalism(Player player) {
  269. if (permissionsEnabled) {
  270. return permission(player, "mcmmo.skills.herbalism");
  271. } else {
  272. return true;
  273. }
  274. }
  275. public boolean excavation(Player player) {
  276. if (permissionsEnabled) {
  277. return permission(player, "mcmmo.skills.excavation");
  278. } else {
  279. return true;
  280. }
  281. }
  282. public boolean swords(Player player) {
  283. if (permissionsEnabled) {
  284. return permission(player, "mcmmo.skills.swords");
  285. } else {
  286. return true;
  287. }
  288. }
  289. public boolean axes(Player player) {
  290. if (permissionsEnabled) {
  291. return permission(player, "mcmmo.skills.axes");
  292. } else {
  293. return true;
  294. }
  295. }
  296. public boolean acrobatics(Player player) {
  297. if (permissionsEnabled) {
  298. return permission(player, "mcmmo.skills.acrobatics");
  299. } else {
  300. return true;
  301. }
  302. }
  303. }