Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите почему выдаёт ошибку null?

Статус
Закрыто для дальнейших ответов.
Что за дичь тут начали советовать, а ведь шли правильно..
Переменная plugin в твоём классе нулл. Её нужно задать из главного класса.


Код:
package melars.projects.Project001;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;


public class CommandEx implements CommandExecutor {

    Plugin plugin;

    public CommandEx(Plugin plugin) {
        this.plugin = plugin;
}

    @Override
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        if (sender instanceof Player) {
            RandomTeleport rt = new RandomTeleport();
            Cooldown cd = new Cooldown();

            Player plr = (Player) sender;
            Cooldown cooldown = new Cooldown();
            if(cd.PassedT(plr) == true) {
                Long l = Long.valueOf(20000);
                Integer barrierl = plugin.getConfig().getInt("rtp.barrier-limit");
                Long cooldowN = Long.valueOf(cd.getCooldown(plr) * 1000);
                classN.cooldown.put(plr.getUniqueId(), cooldowN + System.currentTimeMillis());
                rt.randomteleportplayer(plr, barrierl, -(barrierl), 100);
                plr.sendTitle(ChatColor.GREEN + "РТП", ChatColor.GRAY + "Вы были перемещены.");
                return true;
            } else if(cd.PassedT(plr) == false){
                plr.sendMessage(plugin.getConfig().getString("rtp.cooldown.msgCd").replace("&", "§").replace("%time%", cd.LastT(plr)));
                return true;
            }
        } else if (!(sender instanceof Player)){
            return true;
        }
        return true;
    }
}

В главном классе, там где регаешь команду, пишешь вместо new CommandEx() -> new CommandEx(this)
А если это не командный чат и не класс с ивентами. С ним такая же ошибка будет? Типо у меня есть класс с методами, как мне его отметить в классе главном что б plugin опять не был равен нулл?
 
А если это не командный чат и не класс с ивентами. С ним такая же ошибка будет? Типо у меня есть класс с методами, как мне его отметить в классе главном что б plugin опять не был равен нулл?
в главном классе просто создай переменную plugin и обращайся к ней когда тебе будет нужно
 
Код:
    public Plugin plugin;

    public Plugin getPlugin() {
        return this;
    }

так?
 
Статус
Закрыто для дальнейших ответов.

Поделиться этой страницей

Назад
Верх