perms.txt 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466
  1. modTimer(-100);
  2. databank.workerExecute(databank.prepare("
  3. CREATE TABLE IF NOT EXISTS new_playerperms (
  4. player_id INT NOT NULL,
  5. perm_id INT NOT NULL,
  6. PRIMARY KEY(player_id, perm_id)
  7. );
  8. "));
  9. permgroups = array.new(20, 4);
  10. perm.addGroup(0, "user", "3User", false);
  11. perm.addGroup(1, "owner", null, false);
  12. perm.addGroup(2, "admin", "cAdmin", true);
  13. perm.addGroup(3, "moderator", "9Moderator", true);
  14. perm.addGroup(4, "supporter", "bSupporter", true);
  15. perm.addGroup(5, "developer", "5Developer", true);
  16. perm.addGroup(6, "", null, false); //not used anymore, just a placeholder
  17. perm.addGroup(7, "builder", "5Builder", true);
  18. perm.addGroup(8, "streamer", "dInfluencer", true);
  19. perm.addGroup(9, "yt", "dInfluencer", true);
  20. perm.addGroup(10, "vip", "dVIP", true);
  21. perm.addGroup(11, "sponsor", "dSponsor", true);
  22. perm.addGroup(12, "creative", null, true);
  23. perm.addGroup(13, "worldedit", null, true);
  24. perm.addGroup(14, "simuser", null, false);
  25. perm.addGroup(15, "notickets", null, false);
  26. perm.addGroup(16, "bypass", null, false);
  27. perm.addGroup(17, "altruist", null, false);
  28. perm.addGroup(18, "legend", null, false);
  29. perm.addGroup(19, "creativeWE", null, true);
  30. perm.setGroups(permgroups);
  31. perm.addToGroup(0, "isUser");
  32. perm.addToGroup(0, "missing.icanhasbukkit");
  33. perm.addToGroup(0, "afk");
  34. perm.addToGroup(0, "answer");
  35. perm.addToGroup(0, "armorstand");
  36. perm.addToGroup(0, "back");
  37. perm.addToGroup(0, "citizens.npc.talk");
  38. perm.addToGroup(0, "clan");
  39. perm.addToGroup(0, "comeback");
  40. perm.addToGroup(0, "creative");
  41. perm.addToGroup(0, "friend");
  42. perm.addToGroup(0, "games");
  43. perm.addToGroup(0, "giveup");
  44. perm.addToGroup(0, "help");
  45. perm.addToGroup(0, "home");
  46. perm.addToGroup(0, "infopoint1");
  47. perm.addToGroup(0, "infopoint2");
  48. perm.addToGroup(0, "infopoint3");
  49. perm.addToGroup(0, "infopoint4");
  50. perm.addToGroup(0, "infopoint5");
  51. perm.addToGroup(0, "infopoint6");
  52. perm.addToGroup(0, "infopoint7");
  53. perm.addToGroup(0, "infopoint8");
  54. perm.addToGroup(0, "infopoint9");
  55. perm.addToGroup(0, "infopoint10");
  56. perm.addToGroup(0, "infopoint11");
  57. perm.addToGroup(0, "infopoint12");
  58. perm.addToGroup(0, "invstats");
  59. perm.addToGroup(0, "lag");
  60. perm.addToGroup(0, "leave");
  61. perm.addToGroup(0, "list");
  62. perm.addToGroup(0, "mail");
  63. perm.addToGroup(0, "mailbox");
  64. perm.addToGroup(0, "msg");
  65. perm.addToGroup(0, "nextplayer");
  66. perm.addToGroup(0, "party");
  67. perm.addToGroup(0, "playtime");
  68. perm.addToGroup(0, "plot");
  69. perm.addToGroup(0, "pvp");
  70. perm.addToGroup(0, "questanswer");
  71. perm.addToGroup(0, "rank");
  72. perm.addToGroup(0, "setrank");
  73. perm.addToGroup(0, "settings");
  74. perm.addToGroup(0, "sign");
  75. perm.addToGroup(0, "sfstats");
  76. perm.addToGroup(0, "shop");
  77. perm.addToGroup(0, "skills");
  78. perm.addToGroup(0, "skipnight");
  79. perm.addToGroup(0, "spawn");
  80. perm.addToGroup(0, "sponsor");
  81. perm.addToGroup(0, "stats");
  82. perm.addToGroup(0, "stopadventure");
  83. perm.addToGroup(0, "suicide");
  84. perm.addToGroup(0, "support");
  85. perm.addToGroup(0, "topinvstats");
  86. perm.addToGroup(0, "topsfstats");
  87. perm.addToGroup(0, "tpa");
  88. perm.addToGroup(0, "tpaccept");
  89. perm.addToGroup(0, "tpaccepthere");
  90. perm.addToGroup(0, "tpahere");
  91. perm.addToGroup(0, "user");
  92. perm.addToGroup(0, "vote");
  93. perm.addToGroup(0, "voteshop");
  94. perm.addToGroup(1, "isOwner");
  95. perm.addToGroup(1, "bukkit.command.paper");
  96. perm.addToGroup(1, "bukkit.command.paper.version");
  97. perm.addToGroup(1, "bukkit.command.paper.dumpitem");
  98. perm.addToGroup(1, "bukkit.command.paper.playermobcaps");
  99. perm.addToGroup(1, "bukkit.command.paper.heap");
  100. perm.addToGroup(1, "bukkit.command.paper.chunkinfo");
  101. perm.addToGroup(1, "bukkit.command.paper.fixlight");
  102. perm.addToGroup(1, "bukkit.command.paper.syncloadinfo");
  103. perm.addToGroup(1, "bukkit.command.paper.entity");
  104. perm.addToGroup(1, "bukkit.command.paper.mobcaps");
  105. perm.addToGroup(1, "bukkit.command.paper.reload");
  106. perm.addToGroup(1, "bukkit.command.paper.debug");
  107. perm.addToGroup(1, "block.fix");
  108. perm.addToGroup(1, "mail.reset");
  109. perm.addToGroup(1, "minecraft.command.datapack");
  110. perm.addToGroup(1, "minecraft.command.deop");
  111. perm.addToGroup(1, "minecraft.command.op");
  112. perm.addToGroup(1, "minecraft.command.worldborder");
  113. perm.addToGroup(1, "test");
  114. perm.addToGroup(1, "stop");
  115. perm.addToGroup(1, "missing.dynmap");
  116. perm.addToGroup(1, "dynmap.*");
  117. perm.addToGroup(1, "isSnuviMaster");
  118. perm.addToGroup(1, "removeinvstats");
  119. perm.addToGroup(1, "removesfstats");
  120. perm.addToGroup(1, "stats.remove");
  121. perm.addToGroup(2, "isAdmin");
  122. perm.addToGroup(2, "butcher");
  123. perm.addToGroup(2, "copyisland");
  124. perm.addToGroup(2, "enderchest");
  125. perm.addToGroup(2, "gamemode.other");
  126. perm.addToGroup(2, "inv.loadFrom");
  127. perm.addToGroup(2, "inv.saveFor");
  128. perm.addToGroup(2, "inv.see");
  129. perm.addToGroup(2, "iteminfo");
  130. perm.addToGroup(2, "minecraft.command.advancement");
  131. perm.addToGroup(2, "minecraft.command.banlist");
  132. perm.addToGroup(2, "minecraft.command.bossbar");
  133. perm.addToGroup(2, "minecraft.command.data");
  134. perm.addToGroup(2, "minecraft.command.debug");
  135. perm.addToGroup(2, "minecraft.command.execute");
  136. perm.addToGroup(2, "minecraft.command.experience");
  137. perm.addToGroup(2, "minecraft.command.locate");
  138. perm.addToGroup(2, "minecraft.command.locatebiome");
  139. perm.addToGroup(2, "minecraft.command.particle");
  140. perm.addToGroup(2, "minecraft.command.playsound");
  141. perm.addToGroup(2, "minecraft.command.recipe");
  142. perm.addToGroup(2, "minecraft.command.scoreboard");
  143. perm.addToGroup(2, "minecraft.command.tag");
  144. perm.addToGroup(2, "minecraft.command.team");
  145. perm.addToGroup(2, "minecraft.command.whitelist");
  146. perm.addToGroup(2, "minecraft.commandblock");
  147. perm.addToGroup(2, "lightning");
  148. perm.addToGroup(2, "perm.removeall");
  149. perm.addToGroup(2, "pvp.other");
  150. perm.addToGroup(2, "repair");
  151. perm.addToGroup(2, "say");
  152. perm.addToGroup(2, "script");
  153. perm.addToGroup(2, "senditem");
  154. perm.addToGroup(2, "setmessage.delete");
  155. perm.addToGroup(2, "setrank.other");
  156. perm.addToGroup(2, "setservermessage");
  157. perm.addToGroup(2, "setspawn");
  158. perm.addToGroup(2, "setworldspawn");
  159. perm.addToGroup(2, "speed.other");
  160. perm.addToGroup(2, "start");
  161. perm.addToGroup(2, "minecraft.command.stop");
  162. perm.addToGroup(2, "time");
  163. perm.addToGroup(2, "weather");
  164. perm.addToGroup(2, "world");
  165. perm.addToGroup(3, "isMod");
  166. perm.addToGroup(3, "ass");
  167. perm.addToGroup(3, "ban");
  168. perm.addToGroup(3, "coreprotect.co");
  169. perm.addToGroup(3, "coreprotect.core");
  170. perm.addToGroup(3, "coreprotect.coreprotect");
  171. perm.addToGroup(3, "coreprotect.*");
  172. perm.addToGroup(3, "customitems.*");
  173. perm.addToGroup(3, "datatools");
  174. perm.addToGroup(3, "dev");
  175. perm.addToGroup(3, "enchant");
  176. perm.addToGroup(3, "feed");
  177. perm.addToGroup(3, "fly");
  178. perm.addToGroup(3, "fly.other");
  179. perm.addToGroup(3, "gamemode");
  180. perm.addToGroup(3, "gamerule");
  181. perm.addToGroup(3, "gamerule.write");
  182. perm.addToGroup(3, "grow");
  183. perm.addToGroup(3, "head");
  184. perm.addToGroup(3, "heal");
  185. perm.addToGroup(3, "home.other");
  186. perm.addToGroup(3, "human");
  187. perm.addToGroup(3, "inv.backups");
  188. perm.addToGroup(3, "inv.ignore");
  189. perm.addToGroup(3, "inv.reload");
  190. perm.addToGroup(3, "inv.see.plus");
  191. perm.addToGroup(3, "jumpto");
  192. perm.addToGroup(3, "lastseen");
  193. perm.addToGroup(3, "loginrequests");
  194. perm.addToGroup(3, "mailbox.other");
  195. perm.addToGroup(3, "memory");
  196. perm.addToGroup(3, "minecraft.command.ban-ip");
  197. perm.addToGroup(3, "minecraft.command.clear");
  198. perm.addToGroup(3, "minecraft.command.effect");
  199. perm.addToGroup(3, "minecraft.command.give");
  200. perm.addToGroup(3, "minecraft.command.kill");
  201. perm.addToGroup(3, "minecraft.command.pardon-ip");
  202. perm.addToGroup(3, "minecraft.command.seed");
  203. perm.addToGroup(3, "minecraft.command.summon");
  204. perm.addToGroup(3, "minecraft.command.teleport");
  205. perm.addToGroup(3, "minecraft.debugstick");
  206. perm.addToGroup(3, "news");
  207. perm.addToGroup(3, "nickname");
  208. perm.addToGroup(3, "nowb");
  209. perm.addToGroup(3, "perm.give");
  210. perm.addToGroup(3, "perm.list");
  211. perm.addToGroup(3, "perm.remove");
  212. perm.addToGroup(3, "playsound");
  213. perm.addToGroup(3, "playtime.month");
  214. perm.addToGroup(3, "playtime.other");
  215. perm.addToGroup(3, "playtime.year");
  216. perm.addToGroup(3, "plot.other");
  217. perm.addToGroup(3, "plot.move");
  218. perm.addToGroup(3, "potion");
  219. perm.addToGroup(3, "script.error");
  220. perm.addToGroup(3, "seen");
  221. perm.addToGroup(3, "shop.owner");
  222. perm.addToGroup(3, "sign.copy");
  223. perm.addToGroup(3, "silentjoin");
  224. perm.addToGroup(3, "speed");
  225. perm.addToGroup(3, "startgame");
  226. perm.addToGroup(3, "startgame.jump");
  227. perm.addToGroup(3, "suicide.other");
  228. perm.addToGroup(3, "tempfly");
  229. perm.addToGroup(3, "tip.mod");
  230. perm.addToGroup(3, "top");
  231. perm.addToGroup(3, "tp.other");
  232. perm.addToGroup(3, "tppos");
  233. perm.addToGroup(3, "unban");
  234. perm.addToGroup(3, "user.money");
  235. perm.addToGroup(3, "vanish");
  236. perm.addToGroup(3, "warp.create");
  237. perm.addToGroup(3, "world");
  238. perm.addToGroup(4, "isSupporter");
  239. perm.addToGroup(4, "isTeam");
  240. perm.addToGroup(4, "allsounds");
  241. perm.addToGroup(4, "block");
  242. perm.addToGroup(4, "color");
  243. perm.addToGroup(4, "hat");
  244. perm.addToGroup(4, "icon");
  245. perm.addToGroup(4, "inv");
  246. perm.addToGroup(4, "inv.see");
  247. perm.addToGroup(4, "jail");
  248. perm.addToGroup(4, "joinme");
  249. perm.addToGroup(4, "kick");
  250. perm.addToGroup(4, "msg.team");
  251. perm.addToGroup(4, "mute");
  252. perm.addToGroup(4, "perm");
  253. perm.addToGroup(4, "perm.toggle");
  254. perm.addToGroup(4, "quest");
  255. perm.addToGroup(4, "ride");
  256. perm.addToGroup(4, "setmessage");
  257. perm.addToGroup(4, "skills.other");
  258. perm.addToGroup(4, "tempban");
  259. perm.addToGroup(4, "ticket");
  260. perm.addToGroup(4, "tip");
  261. perm.addToGroup(4, "tp");
  262. perm.addToGroup(4, "unjail");
  263. perm.addToGroup(4, "unmute");
  264. perm.addToGroup(4, "user.other");
  265. perm.addToGroup(4, "warn");
  266. perm.addToGroup(4, "warp");
  267. perm.addToGroup(5, "isDev");
  268. perm.addToGroup(5, "isTeam");
  269. perm.addToGroup(5, "allsounds");
  270. perm.addToGroup(5, "block");
  271. perm.addToGroup(5, "citizens.*");
  272. perm.addToGroup(5, "citizens.help");
  273. perm.addToGroup(5, "citizens.admin.*");
  274. perm.addToGroup(5, "citizens.citizens.*");
  275. perm.addToGroup(5, "citizens.npc.*");
  276. perm.addToGroup(5, "color");
  277. perm.addToGroup(5, "databank");
  278. perm.addToGroup(5, "dev");
  279. perm.addToGroup(5, "error");
  280. perm.addToGroup(5, "game");
  281. perm.addToGroup(5, "iteminfo");
  282. perm.addToGroup(5, "joinme");
  283. perm.addToGroup(5, "loginrequests");
  284. perm.addToGroup(5, "minecraft.command.effect");
  285. perm.addToGroup(5, "minecraft.command.experience");
  286. perm.addToGroup(5, "minecraft.command.particle");
  287. perm.addToGroup(5, "minecraft.command.playsound");
  288. perm.addToGroup(5, "msg.team");
  289. perm.addToGroup(5, "perm");
  290. perm.addToGroup(5, "perm.toggle");
  291. perm.addToGroup(5, "plot.moreinfo");
  292. perm.addToGroup(5, "quest");
  293. perm.addToGroup(5, "script");
  294. perm.addToGroup(5, "script.error");
  295. perm.addToGroup(5, "script.debug");
  296. perm.addToGroup(5, "setmessage");
  297. perm.addToGroup(5, "sign.copy");
  298. perm.addToGroup(5, "skills.other");
  299. perm.addToGroup(5, "start");
  300. perm.addToGroup(5, "stop");
  301. perm.addToGroup(5, "ticket");
  302. perm.addToGroup(5, "tip");
  303. perm.addToGroup(5, "top");
  304. perm.addToGroup(5, "var");
  305. perm.addToGroup(5, "warp");
  306. perm.addToGroup(5, "warp.create");
  307. perm.addToGroup(7, "isBuilder");
  308. perm.addToGroup(7, "isTeam");
  309. perm.addToGroup(7, "allsounds");
  310. perm.addToGroup(7, "armorstand");
  311. perm.addToGroup(7, "ass");
  312. perm.addToGroup(7, "citizens.*");
  313. perm.addToGroup(7, "citizens.citizens.*");
  314. perm.addToGroup(7, "citizens.help");
  315. perm.addToGroup(7, "citizens.npc.*");
  316. perm.addToGroup(7, "color");
  317. perm.addToGroup(7, "customitems");
  318. perm.addToGroup(7, "datatools");
  319. perm.addToGroup(7, "dev");
  320. perm.addToGroup(7, "fly");
  321. perm.addToGroup(7, "gamemode");
  322. perm.addToGroup(7, "grow");
  323. perm.addToGroup(7, "head");
  324. perm.addToGroup(7, "human");
  325. perm.addToGroup(7, "icon");
  326. perm.addToGroup(7, "joinme");
  327. perm.addToGroup(7, "minecraft.command.give");
  328. perm.addToGroup(7, "minecraft.command.setblock");
  329. perm.addToGroup(7, "minecraft.command.summon");
  330. perm.addToGroup(7, "minecraft.debugstick");
  331. perm.addToGroup(7, "missing./sel");
  332. perm.addToGroup(7, "missing.brush");
  333. perm.addToGroup(7, "missing.none");
  334. perm.addToGroup(7, "missing.tool");
  335. perm.addToGroup(7, "missing.worldedit");
  336. perm.addToGroup(7, "msg.team");
  337. perm.addToGroup(7, "perm");
  338. perm.addToGroup(7, "perm.toggle");
  339. perm.addToGroup(7, "potion");
  340. perm.addToGroup(7, "setmessage");
  341. perm.addToGroup(7, "sign.copy");
  342. perm.addToGroup(7, "speed");
  343. perm.addToGroup(7, "tip");
  344. perm.addToGroup(7, "top");
  345. perm.addToGroup(7, "tp");
  346. perm.addToGroup(7, "tppos");
  347. perm.addToGroup(7, "warp");
  348. perm.addToGroup(7, "warp.create");
  349. perm.addToGroup(8, "isStreamer");
  350. perm.addToGroup(8, "icon");
  351. perm.addToGroup(8, "joinme");
  352. perm.addToGroup(8, "live");
  353. perm.addToGroup(8, "news");
  354. perm.addToGroup(8, "setmessage");
  355. perm.addToGroup(9, "isYT");
  356. perm.addToGroup(9, "icon");
  357. perm.addToGroup(8, "joinme");
  358. perm.addToGroup(8, "live");
  359. perm.addToGroup(9, "news");
  360. perm.addToGroup(9, "setmessage");
  361. perm.addToGroup(10, "isVIP");
  362. perm.addToGroup(10, "allsounds");
  363. perm.addToGroup(10, "color");
  364. perm.addToGroup(10, "fly");
  365. perm.addToGroup(10, "hat");
  366. perm.addToGroup(10, "icon");
  367. perm.addToGroup(10, "joinme");
  368. perm.addToGroup(10, "perm");
  369. perm.addToGroup(10, "perm.toggle");
  370. perm.addToGroup(10, "ride");
  371. perm.addToGroup(10, "setmessage");
  372. perm.addToGroup(10, "tip");
  373. perm.addToGroup(11, "isSponsor");
  374. perm.addToGroup(11, "color");
  375. perm.addToGroup(11, "hat");
  376. perm.addToGroup(11, "icon");
  377. perm.addToGroup(11, "joinme");
  378. perm.addToGroup(11, "setmessage");
  379. //Building perms for creative world
  380. perm.addToGroup(12, "creative.gm1");
  381. perm.addToGroup(13, "worldedit.*");
  382. perm.addToGroup(13, "voxelsniper.*");
  383. perm.addToGroup(13, "voxelsniper.brush.*");
  384. //Perm-Group zur User-Simulation
  385. perm.addToGroup(14, "simuser");
  386. perm.addToGroup(14, "perm");
  387. perm.addToGroup(14, "perm.toggle");
  388. perm.addToGroup(15, "notickets");
  389. perm.addToGroup(16, "plot.bypass");
  390. //altruist
  391. perm.addToGroup(17, "setmessage");
  392. //legend
  393. perm.addToGroup(18, "setmessage");
  394. //creativeWE
  395. perm.addToGroup(19, "creative.we");
  396. perm.loadDatabank();
  397. perm.initOnlinePlayers();
  398. event.load("player_join");
  399. msg.string("dev", "§bPerms §rloaded.");
  400. @wait
  401. wait();
  402. if(event == "player_join") {
  403. perm.initPlayer(player);
  404. }
  405. goto("wait");
  406. function perm.addGroup(group_id, group_name, rank, awardable) {
  407. $permgroups[group_id, 0] = group_name;
  408. $permgroups[group_id, 1] = rank;
  409. $permgroups[group_id, 2] = list.new();
  410. $permgroups[group_id, 3] = awardable;
  411. }
  412. function perm.addToGroup(group_id, perm) {
  413. list = perm.getGroupList(group_id);
  414. list.add(list, perm);
  415. }
  416. function perm.initOnlinePlayers() {
  417. list = players.toList();
  418. iter = iterator(list);
  419. while(hasNext(iter)) {
  420. perm.initPlayer(next(iter));
  421. }
  422. }
  423. function perm.loadDatabank() {
  424. perms = map.new();
  425. stmt = databank.prepare("SELECT player_id,perm_id FROM new_playerperms");
  426. result = databank.execute(stmt);
  427. while(databank.next(result)) {
  428. player_id = databank.getInt(result, 1);
  429. perm_id = databank.getInt(result, 2);
  430. list = map.getOrDefault(perms, player_id, list.new());
  431. list.add(list, perm_id);
  432. map.add(perms, player_id, list);
  433. }
  434. databank.close(result);
  435. databank.close(stmt);
  436. setScriptVar("player_perms", perms);
  437. }