Войти или зарегистрироваться

Помогите Плагин работает на локальной машине, а на хосте - нет

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

BazoSlav

Новичок
Пользователь
Баллы
6
Имя в Minecraft
BazoSlav
Дело в том что я использую апи другого плагина, подозреваю что ошибка как раз в этом, но как исправить придумать не могу.
Может вы подскажите ?
 
Ну, требуется больше информации. Что именно не работает? Плагин в принципе не запускается? Какой-то функционал не реагирует? Какой плагин используешь в качестве API? Не забыл ли указать его в depend/soft-depend у себя в плагине?
 
Ну, требуется больше информации. Что именно не работает? Плагин в принципе не запускается? Какой-то функционал не реагирует? Какой плагин используешь в качестве API? Не забыл ли указать его в depend/soft-depend у себя в плагине?

Плагин запускается, и начинает сыпать ошибками ровно в тот момент когда дело доходит для работы другого
Использую CoreProtect чтобы узнать кто поставил блок. в depend/soft-depend не указывал вообще ничего, не до конца понимаю как оно должно работать. (Это первый раз когда я делаю плагин, не бейте)
 
Плагин запускается, и начинает сыпать ошибками ровно в тот момент когда дело доходит для работы другого
Тогда логи с ошибками в студию, а лучше и код заодно. Желательно через hastebin или что-то вроде того.
Использую CoreProtect чтобы узнать кто поставил блок. в depend/soft-depend не указывал вообще ничего, не до конца понимаю как оно должно работать. (Это первый раз когда я делаю плагин, не бейте)
soft-depend отвечает за то, что твой плагин включится лишь после указанных в параметре плагинов.
depend тоже самое, только если чего-то будет не хватать, плагин в принципе не запустится.

В твоем случае в plugin.yml следовало бы указать
Код:
depend: [CoreProtect]
 
Тогда логи с ошибками в студию, а лучше и код заодно. Желательно через hastebin или что-то вроде того.

soft-depend отвечает за то, что твой плагин включится лишь после указанных в параметре плагинов.
depend тоже самое, только если чего-то будет не хватать, плагин в принципе не запустится.

В твоем случае в plugin.yml следовало бы указать
Код:
depend: [CoreProtect]

https://www.toptal.com/developers/hastebin/koxofizupe.java - Код, на названия пакетов не смотри)
https://www.toptal.com/developers/hastebin/uninitihex.properties - пример ошибка.

Насколько я понимаю это связано с тем что плагин не может найти coreprotect ?
 
https://www.toptal.com/developers/hastebin/koxofizupe.java - Код, на названия пакетов не смотри)
https://www.toptal.com/developers/hastebin/uninitihex.properties - пример ошибка.

Насколько я понимаю это связано с тем что плагин не может найти coreprotect ?

Плагин работает на локальной машине, но при переносе на хост под убунту начинаются приколы
 
https://www.toptal.com/developers/hastebin/koxofizupe.java - Код, на названия пакетов не смотри)
https://www.toptal.com/developers/hastebin/uninitihex.properties - пример ошибка.

Насколько я понимаю это связано с тем что плагин не может найти coreprotect ?
Нет. Почитай ошибку, которая тебе выдается.
Код:
java.lang.NullPointerException: Cannot invoke "org.bukkit.entity.Player.isOnline()" because "player2" is null
       at hoholcraft.testplugin.Check.PlayerBreakBlock(Check.java:40) ~[TestPlugin 1.16.jar:?]
У тебя переменная player2 == null. Всё из-за того, что ты пытаешься получить игрока, которого нет в сети, и ты на строке 40 пытаешься проверить, является ли "ничего" онлайн. Замени проверку
PHP:
if(player2.isOnline()==false)
на
PHP:
if(player2 == null)
 
Нет. Почитай ошибку, которая тебе выдается.
Код:
java.lang.NullPointerException: Cannot invoke "org.bukkit.entity.Player.isOnline()" because "player2" is null
       at hoholcraft.testplugin.Check.PlayerBreakBlock(Check.java:40) ~[TestPlugin 1.16.jar:?]
У тебя переменная player2 == null. Всё из-за того, что ты пытаешься получить игрока, которого нет в сети, и ты на строке 40 пытаешься проверить, является ли "ничего" онлайн. Замени проверку
PHP:
if(player2.isOnline()==false)
на
PHP:
if(player2 == null)

Дело в том что игрок был в сети.
 
Дело в том что игрок был в сети.
Сервер считает иначе. Попробуй вывести значение player1 в чат.

Ещё один момент, проглядел в первый раз:
PHP:
if (playerName != player1.toString())
Тебе не нужен toString(), т.к. player1 и так строка. А ещё строки не сравнивают через == и !=. Для этого есть метод equals:
PHP:
if (!playerName.equals(player1))
 
Нет. Почитай ошибку, которая тебе выдается.
Код:
java.lang.NullPointerException: Cannot invoke "org.bukkit.entity.Player.isOnline()" because "player2" is null
       at hoholcraft.testplugin.Check.PlayerBreakBlock(Check.java:40) ~[TestPlugin 1.16.jar:?]
У тебя переменная player2 == null. Всё из-за того, что ты пытаешься получить игрока, которого нет в сети, и ты на строке 40 пытаешься проверить, является ли "ничего" онлайн. Замени проверку
PHP:
if(player2.isOnline()==false)
на
PHP:
if(player2 == null)

Перечитав свой код и проблему, я понял что жестко протупил.
 
Сервер считает иначе. Попробуй вывести значение player1 в чат.

Ещё один момент, проглядел в первый раз:
PHP:
if (playerName != player1.toString())
Тебе не нужен toString(), т.к. player1 и так строка. А ещё строки не сравнивают через == и !=. Для этого есть метод equals:
PHP:
if (!playerName.equals(player1))

Да каждый раз забываю что в джаве сравнение через == лучше избегать.
 
Нет. Почитай ошибку, которая тебе выдается.
Код:
java.lang.NullPointerException: Cannot invoke "org.bukkit.entity.Player.isOnline()" because "player2" is null
       at hoholcraft.testplugin.Check.PlayerBreakBlock(Check.java:40) ~[TestPlugin 1.16.jar:?]
У тебя переменная player2 == null. Всё из-за того, что ты пытаешься получить игрока, которого нет в сети, и ты на строке 40 пытаешься проверить, является ли "ничего" онлайн. Замени проверку
PHP:
if(player2.isOnline()==false)
на
PHP:
if(player2 == null)

в этом вы оказались правы, я совсем забыл что сделал проверку на то что игрок не онлайн)
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх