Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /******************************************************************************
- * PlayerEx FTBRanks auto rank up *
- * Version: 1.2.2 *
- * Author Discord: om_r#3567 *
- * -------------------------------------------------------------------------- *
- * Requirements *
- * FTBRanks config: *
- * - level => promote condition *
- * - ftbranks.name_format => rank display style *
- ******************************************************************************/
- PlayerEvents.tick((event) => {
- const ExAPI = Java.loadClass('com.github.clevernucleus.playerex.api.ExAPI');
- const FTBranksAPI = Java.loadClass('dev.ftb.mods.ftbranks.api.FTBRanksAPI');
- const RankManager = FTBranksAPI.INSTANCE.getManager();
- const INTERVAL_SECONDS = 10;
- if ((event.server.getTickCount() % (INTERVAL_SECONDS * 20)) === 0) {
- let rankToPromote = RankManager.getAllRanks().find(rank => rank.getPermission('level') <= ExAPI.PLAYER_DATA.get(event.player).get(ExAPI.LEVEL));
- let playerRanks = RankManager.getRanks(event.player);
- let isRankAddded = playerRanks.find(rank => rank.toString() === rankToPromote);
- if (!isRankAddded) {
- rankToPromote.add(event.player.profile)
- if (playerRanks.length) {
- playerRanks[playerRanks.length - 1].remove(event.player.profile);
- displayPromotionNotification(event.player, rankToPromote);
- }
- }
- }
- });
- function displayPromotionNotification(player, rank) {
- const name = player.name.string;
- const getMessage = text => `§2⚔ ${text} has been promoted to ${rank.getPermission('ftbranks.name_format').toString().replace('&', '§').replace(' {name}', '').replace('[', '').replace(']', '')} §2⚔`;
- Utils.server.runCommandSilent(`title ${name} title "§c§lCongratulations!"`);
- Utils.server.runCommandSilent(`title ${name} subtitle "${getMessage('You')}"`);
- Utils.server.runCommandSilent(`playsound advancementplaques:ui.toast.goal_complete master ${name}`);
- player.runCommandSilent(`playsound advancementplaques:ui.toast.goal_complete master ${name}`);
- Utils.server.tell(getMessage(name));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement