- Баллы
- 78
- Имя в Minecraft
- PuxTa4
Привет всем. Помогите пожалуйста , http://pastebin.com/bXvrqxNa , сервер ругается на 46 строку , посмотрите , что не так.Спасибо всем . Проблему решил .
Последнее редактирование:
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
protectedBlocks , это ArrayList , который хранить в себе локацию "public ArrayList<Location> protectedBlocks = new ArrayList<Location>(); "Убедитесь, что plugin.protectedBlocks не равно null.
Вот ошибка сервера http://prntscr.com/7yhabqУбедитесь, что plugin.protectedBlocks не равно null.
Так делать не правильно. Можно конечно подобным образом реализовывать вспомогательные классы, но не более.Первое, зачем вы создаете методы которые есть в Bukkit?
2. Делайте методы статическими и используйте их так(В других классах), Core.methodname...
Согласен, но мне удобнее так как я сказал, просто обычно мне нужно получить всего 1 метод/мапу/лист.И на скриншоте у вас ошибка в хендлере onPlayerInteract на 48 строке.
Скиньте эту строку, пожалуйста. Или лучше метод целиком.
Так делать не правильно. Можно конечно подобным образом реализовывать вспомогательные классы, но не более.
Обычно создают статичный инстанс и вызывают не статичные методы так: Core.instance.methodname().
я на pastebin не залил две строки , это строка пакета и пустая строкаИ на скриншоте у вас ошибка в хендлере onPlayerInteract на 48 строке.
Скиньте эту строку, пожалуйста. Или лучше метод целиком.
Так делать не правильно. Можно конечно подобным образом реализовывать вспомогательные классы, но не более.
Обычно создают статичный инстанс и вызывают не статичные методы так: Core.instance.methodname().
У вас там не локация а блок, нужно event.getBlock().getLocation();я на pastebin не залил две строки , это строка пакета и пустая строка
Не очень понятно. А какая строка у вас там является 46(48)-ой? Просто я смотрел по тому исходнику, который вы предоставили, и там на 46-ой строке совсем другой метод.я на pastebin не залил две строки , это строка пакета и пустая строка
Вот исходный код http://pastebin.com/mJvwpqXvНе очень понятно. А какая строка у вас там является 46(48)-ой? Просто я смотрел по тому исходнику, который вы предоставили, и там на 46-ой строке совсем другой метод.
Кстати, да.У вас там не локация а блок, нужно event.getBlock().getLocation();
это где ?Кстати, да.
Тут.это где ?
@EventHandler
public void onBlockBreak(BlockBreakEvent event) {
if (plugin.protectedBlocks.contains(event.getBlock())) {
event.setCancelled(true);
}
}
Тут ?
это где ?
@EventHandler
public void onBlockBreak(BlockBreakEvent event) {
if (plugin.protectedBlocks.contains(event.getBlock())) {
event.setCancelled(true);
}
}
Тут ?
Вроде нетТут.
А Core#m у вас - не null?
Возможно я чего то не понимаю . Это и есть Core.mУбедитесь.
Ошибку исправил . Взамен строке Core plugin; написал private static Core plugin;Убедитесь.
Под "не null" я предполагаю, что объект создан и инициализирован как надо.
А почему класс называется Methods ?Возможно я чего то не понимаю . Это и есть 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();
}
}
Ошибку исправил . Взамен строке Core plugin; написал private static Core plugin;