Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Сервер ругается на строку

Тема в разделе "Разработка плагинов для новичков", создана пользователем TorwaldOswarld, 29 июл 2015.

  1. Автор темы
    TorwaldOswarld

    TorwaldOswarld Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    _TheMaxPlay_
    Привет всем. Помогите пожалуйста , http://pastebin.com/bXvrqxNa , сервер ругается на 46 строку , посмотрите , что не так.Спасибо всем . Проблему решил .
     
    Последнее редактирование: 29 июл 2015
  2. Хостинг MineCraft
    <
  3. leonmark061

    leonmark061 Активный участник Пользователь

    Баллы:
    76
    Убедитесь, что plugin.protectedBlocks не равно null.
     
  4. Автор темы
    TorwaldOswarld

    TorwaldOswarld Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    _TheMaxPlay_
    protectedBlocks , это ArrayList , который хранить в себе локацию "public ArrayList<Location> protectedBlocks = new ArrayList<Location>(); "[DOUBLEPOST=1438192696,1438192658][/DOUBLEPOST]
    Вот ошибка сервера http://prntscr.com/7yhabq
     
  5. leonmark061

    leonmark061 Активный участник Пользователь

    Баллы:
    76
    Значит вы либо передаете в конструктор слушателя null, либо все же ваш список - null.
     
  6. Rider3217

    Rider3217 Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    Первое, зачем вы создаете методы которые есть в Bukkit?
    2. Делайте методы статическими и используйте их так(В других классах), Core.methodname...
     
  7. leonmark061

    leonmark061 Активный участник Пользователь

    Баллы:
    76
    И на скриншоте у вас ошибка в хендлере onPlayerInteract на 48 строке.
    Скиньте эту строку, пожалуйста. Или лучше метод целиком.[DOUBLEPOST=1438194118,1438193887][/DOUBLEPOST]
    Так делать не правильно. Можно конечно подобным образом реализовывать вспомогательные классы, но не более.
    Обычно создают статичный инстанс и вызывают не статичные методы так: Core.instance.methodname().
     
  8. Rider3217

    Rider3217 Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    Согласен, но мне удобнее так как я сказал, просто обычно мне нужно получить всего 1 метод/мапу/лист.
     
  9. Автор темы
    TorwaldOswarld

    TorwaldOswarld Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    _TheMaxPlay_
    я на pastebin не залил две строки , это строка пакета и пустая строка
     
  10. Rider3217

    Rider3217 Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    У вас там не локация а блок, нужно event.getBlock().getLocation();
     
  11. leonmark061

    leonmark061 Активный участник Пользователь

    Баллы:
    76
    Не очень понятно. А какая строка у вас там является 46(48)-ой? Просто я смотрел по тому исходнику, который вы предоставили, и там на 46-ой строке совсем другой метод.
     
  12. Автор темы
    TorwaldOswarld

    TorwaldOswarld Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    _TheMaxPlay_
    Вот исходный код http://pastebin.com/mJvwpqXv
     
  13. leonmark061

    leonmark061 Активный участник Пользователь

    Баллы:
    76
    Кстати, да.
     
  14. Автор темы
    TorwaldOswarld

    TorwaldOswarld Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    _TheMaxPlay_
    это где ?
    @EventHandler
    public void onBlockBreak(BlockBreakEvent event) {
    if (plugin.protectedBlocks.contains(event.getBlock())) {
    event.setCancelled(true);
    }
    }
    Тут ?
     
  15. leonmark061

    leonmark061 Активный участник Пользователь

    Баллы:
    76
    Тут.

    А Core#m у вас - не null?
     
  16. Rider3217

    Rider3217 Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
     
  17. Автор темы
    TorwaldOswarld

    TorwaldOswarld Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    _TheMaxPlay_
    Вроде нет
     
  18. leonmark061

    leonmark061 Активный участник Пользователь

    Баллы:
    76
    Убедитесь.[DOUBLEPOST=1438196114,1438195918][/DOUBLEPOST]Под "не null" я предполагаю, что объект создан и инициализирован как надо.
     
  19. Автор темы
    TorwaldOswarld

    TorwaldOswarld Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    _TheMaxPlay_
    Возможно я чего то не понимаю . Это и есть Core.m
    package ru.ShaKe.AGP;

    import org.bukkit.ChatColor;
    import org.bukkit.Location;
    import org.bukkit.entity.Player;

    public class Methods {
    public void sendConcole(String s) {
    System.out.println(s);
    }

    public String capitaliseFirstLetter(String s) {
    s = s.toLowerCase();
    char[] stringArray = s.toCharArray();
    stringArray[0] = Character.toUpperCase(stringArray[0]);
    s = new String(stringArray);
    return s;
    }

    public void sendMessege(Player player, String s) {
    player.sendMessage(ChatColor.DARK_GRAY + "[" + ChatColor.GOLD
    + "AdvancedProtection" + ChatColor.DARK_GRAY + "]"
    + ChatColor.GRAY + s);
    }

    public String showBlockCoords(Location l) {
    return ChatColor.LIGHT_PURPLE + "" + l.getBlockX() + ", "
    + l.getBlockY() + ", " + l.getBlockZ();

    }
    }[DOUBLEPOST=1438196307,1438196135][/DOUBLEPOST]
    Ошибку исправил . Взамен строке Core plugin; написал private static Core plugin;
     
  20. leonmark061

    leonmark061 Активный участник Пользователь

    Баллы:
    76
    То есть, проблема решена?
     
  21. Rider3217

    Rider3217 Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    А почему класс называется Methods ?
     

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