Помогите Работа с vault

  • Автор темы Автор темы EugeneRu
  • Дата начала Дата начала

EugeneRu

Новичок
Пользователь
Баллы
11
Как использовать ваул апи, или как получить префикс из него.
 
Делается точно также, только сервис другой.
Код:
 public static Permission setupPermissions()
   {
       Permission permission = null
       RegisteredServiceProvider<Permission> permissionProvider = getServer().getServicesManager().getRegistration(net.milkbowl.vault.permission.Permission.class);
       if (permissionProvider != null) {
           permission = permissionProvider.getProvider();
       }
       return permission;
   }
Это не то, мне нужно получить префикс
 
Если вы можете, то скиньте код которым можно получить префикс
Код:
    private boolean setupChat() {
        RegisteredServiceProvider<Chat> chatProvider = getServer().getServicesManager().getRegistration(Chat.class);
        if (chatProvider != null) {
            chat = (Chat) chatProvider.getProvider();
        }
        return chat != null;
    }
this.plugin.chat.getPlayerPrefix(player))
 
Код:
    private boolean setupChat() {
        RegisteredServiceProvider<Chat> chatProvider = getServer().getServicesManager().getRegistration(Chat.class);
        if (chatProvider != null) {
            chat = (Chat) chatProvider.getProvider();
        }
        return chat != null;
    }
this.plugin.chat.getPlayerPrefix(player))
Первое закинул в майн, второе в нужный мне класс, как захожу на сервере происходит ошибка, ну и в итоге ничего не работает. Ошибка в той сторке в которой находиться Main.chat.getPlayerPrefix(p))
 
Первое закинул в майн, второе в нужный мне класс, как захожу на сервере происходит ошибка, ну и в итоге ничего не работает. Ошибка в той сторке в которой находиться Main.chat.getPlayerPrefix(p))
Кидай полный код и ошибку.
 
Кидай полный код и ошибку.
Код:
package ru.api.events;

import org.bukkit.ChatColor;
import org.bukkit.Sound;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockBurnEvent;
import org.bukkit.event.block.BlockSpreadEvent;
import org.bukkit.event.player.PlayerJoinEvent;

import ru.api.Main;

public class Events implements Listener {
    
Player player;
    
@EventHandler
    public void onJoin(PlayerJoinEvent e) {
        Player p = e.getPlayer();
        if (!p.hasPermission("api.join")) {
            Main.getInstance();
            String joinMessage = ChatColor.translateAlternateColorCodes('&', Main.getInstance().getConfig()
                    .getString("Messages.Join").replace("%player%", p.getDisplayName().replace("%prefix%", Main.chat.getPlayerPrefix(p)))); ОШИБКА ТУТ
            e.setJoinMessage(joinMessage);
            p.playSound(p.getLocation(), Sound.ENTITY_PLAYER_LEVELUP, 8.0f, 8.0f);
        } else {
            e.setJoinMessage(null);
            p.playSound(p.getLocation(), Sound.valueOf(null), 0, 0);
        }
    }
}
 
Первое закинул в майн, второе в нужный мне класс, как захожу на сервере происходит ошибка, ну и в итоге ничего не работает. Ошибка в той сторке в которой находиться Main.chat.getPlayerPrefix(p))
Не умеешь в java, не лезь.
 
Не умеешь в java, не лезь.
Могу тебе обратное сказать, не можешь помочь не лезь. Я уже год как ничего не писал на java, многое забыл а что-то и не знал. Так как только начинал учить java.
 
Полный код кидай. С Main. И сделай вывод всего, что используется в replace. Поймёшь что у тебя null.
 
Ты метод setupChat() не взываешь. У тебя chat - null. Вызови его в onEnable
 
Последнее редактирование:
Могу тебе обратное сказать, не можешь помочь не лезь. Я уже год как ничего не писал на java, многое забыл а что-то и не знал. Так как только начинал учить java.
Тебе уже скинул все что должен знать. Ну если ты не умеешь в основы java, извиняй.
Вот тебе стак готовых набросков https://github.com/alexandrage/Example
Иди смотри.
 
Назад
Верх