Помогите Как сделать статитечский метод?

  • Автор темы Автор темы RiseYT
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

RiseYT

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
_RiseYT_
Добрый день. Уже несколько дней ломаю голову. Уже что только не перепробовал.

Код:
    public void onPlayerjoin(PlayerJoinEvent e){
        Player p = e.getPlayer();
        p.setDisplayName(NametagAPI.getNametag(p));

Ошибка: Cannot make a static reference to the non-static method getNametag(Player) from the type NametagAPI. (p.setDisplayName(NametagAPI.getNametag(p))
Кто сможет помочь, пожалуйста. Отзовитесь. Если нужен полный код, сообщите.

Искал на других форумах, ничего не нашёл.
 
Делаю так, вылезает другая ошибка. Просит String, а не игрока
ну я же тебе кинул код просто скопируй. Там стринг и так. И я не понимаю что ты вообще пытаешься сделать заменить дисплейнейм игрока на онли префикс?
 
ну я же тебе кинул код просто скопируй. Там стринг и так. И я не понимаю что ты вообще пытаешься сделать заменить дисплейнейм игрока на онли префикс?
Безымянный.png

Я пытаюсь сделать, чтобы при входе игрока ему ставился префикс, который у него в ТАБе
 
Я чекал тот плагин что ты мне кинул там нету метода getNameTag(Player)
Эээмм... Есть.

Код из NametagAPI
Код:
    public Nametag getNametag(final Player player) {
        final FakeTeam team = this.manager.getFakeTeam(player.getName());
        final boolean nullTeam = team == null;
        return new Nametag(nullTeam ? "" : team.getPrefix(), nullTeam ? "" : team.getSuffix());
 
Погоди-ка, скинь весь код не загораживающий ошибка, ты по видимому используешь свой метод в классе плагина.
Код:
package ru.rise.fwchat.listeners;

import ru.rise.fwchat.Main;

import org.bukkit.event.player.*;
import net.md_5.bungee.api.*;
import org.bukkit.entity.*;
import org.bukkit.event.*;

import com.nametagedit.plugin.api.NametagAPI;

import me.clip.placeholderapi.*;

public class PlayerListener implements Listener
{
    public Main plugin;
    
    public static String getNametag(Player p) {
        return getNametag(p);
    }
    
    public PlayerListener(final Main plugin) {
        this.plugin = plugin;
    }
    public PlayerListener() {
    }
    
   @EventHandler
   public void onPlayerjoin(PlayerJoinEvent e) {
       Player p = e.getPlayer();
       p.setDisplayName(NametagAPI.getNametag(p.getName()));
   }
    @EventHandler
    public void onChat(final AsyncPlayerChatEvent e) {
        final Player p = e.getPlayer();
        final String g = this.plugin.perms.getPrimaryGroup(p);
        if (p.hasPermission("chat.color")) {
            e.setMessage(ChatColor.translateAlternateColorCodes('&', e.getMessage()));
        }
        String format = "";
        if (this.plugin.getConfig().getConfigurationSection("groups." + g) != null) {
            format = this.plugin.getConfig().getString("groups." + g + ".format");
        }
        else {
            format = this.plugin.getConfig().getString("default_format");
        }
        format = format.replace("{PLAYER_NAME}", p.getName());
        format = format.replace("{DISPLAY_NAME}", p.getDisplayName());
        format = this.replacePlaceholderAPI(p, format);
        format = this.replaceVault(p, format);
        format = ChatColor.translateAlternateColorCodes('&', format);
        format = format.replace("%", "%%");
        format = format.replace("{MESSAGE}", "%2$s");
        e.setFormat(format);
    }
    public String replaceVault(final Player p, final String message) {
        String rank = null;
        String prefix = null;
        String suffix = null;
        prefix = this.plugin.chat.getPlayerPrefix(p);
        suffix = this.plugin.chat.getPlayerSuffix(p);
        rank = this.plugin.perms.getPrimaryGroup(p);
        String holders = message.replace("{PREFIX}", prefix);
        holders = holders.replace("{SUFFIX}", suffix);
        holders = holders.replace("{RANK}", rank);
        return holders;
    }
    
    @SuppressWarnings("deprecation")
    public String replacePlaceholderAPI(final Player p, final String message) {
        String holders = message;
        if (this.plugin.placeholders && PlaceholderAPI.containsPlaceholders(holders)) {
            holders = PlaceholderAPI.setPlaceholders(p, holders);
        }
        return holders;
    }
}
 
Эээмм... Есть.

Код из NametagAPI
Код:
    public Nametag getNametag(final Player player) {
        final FakeTeam team = this.manager.getFakeTeam(player.getName());
        final boolean nullTeam = team == null;
        return new Nametag(nullTeam ? "" : team.getPrefix(), nullTeam ? "" : team.getSuffix());
Кинь мне ссылку на это плагин ты мне кинул на это
 
Зачем вы ему помогаете? Он не может элементарно потратить час времени на чтобы прочитать основы
 
Зачем вы ему помогаете? Он не может элементарно потратить час времени на чтобы прочитать основы
Я бы посмотрел, как ты эту ошибку решил бы. Пробуй помогать людям, вместо того, чтобы писать: "иди учши основы, боран"
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх