- Баллы
- 76
- Имя в Minecraft
- Blc_Dragon
некоторым командам нужен игрок в кач-ве сендераВедь слишком сложно вызывать Bukkit.getConsoleSender() .
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
некоторым командам нужен игрок в кач-ве сендераВедь слишком сложно вызывать Bukkit.getConsoleSender() .
Лучше такие плагины удалять/переписывать и их авторов гнать ссанными тряпками. Команды перезагрузки плагина/конфига должны быть доступны любому отправителю .-.некоторым командам нужен игрок в кач-ве сендера
maven используется для того, чтобы не таскать со своим проектом мегабайты библиотек. Т.е. если в твоём проекте guava + gson + commons + apache lang + vasya + petya, то просто указываешь в pom.xml что и какую версию загружать. В итоге ты получаешь проект весом в 100-200 кб, вместо 10-20 мб. Ну и так же у мавена есть плагины, которые помогают автоматизировать некоторую работу.Народ, решил начать изучать разработку плагинов. Столкнулся с вопросом относительно maven, стоит ли его использовать? Часто вижу плагины с зависимостями через maven, но в этом вопросе пока мало чего понимаю. Может кто нибудь объяснить?
public class AutoMessage extends JavaPlugin {
public static AutoMessage plugin;
@Override
public void onEnable() {
plugin = this;
blablabla...
}
@Override
public void onDisable() {
MessageLists.unschedule();
plugin = null;
}
}
ну если он статический, то скорее всего его юзают другие классы.Пытаясь анализировать код других плагинов (для примера AutoMessage) натыкаюсь на plugin:
И plugin встречается только тут, больше его нигде не вызывают. Зачем оно надо?Java:public class AutoMessage extends JavaPlugin { public static AutoMessage plugin; @Override public void onEnable() { plugin = this; blablabla... } @Override public void onDisable() { MessageLists.unschedule(); plugin = null; } }
Это так называемый mainInstance плагина.Ссылка на главный класс, его используют в других частях программы для получения разного рода информации, например конфига(plugin.getConfig()) или сервера(plugin.getServer).Так же, с помощью этой ссылки можно использовать методы главного класса, не создавая экземпляр главного класса(ибо при создании экземпляра главного класса плагина, вылетает ошибка, так как ты инициализируешь плагин в двух местах).А так, можно передать эту ссылку в параметры конструктора стороннего класса, и использовать нужные методы там.Некоторые делают константой, некоторые создают геттеры, по разному бывает.Пытаясь анализировать код других плагинов (для примера AutoMessage) натыкаюсь на plugin:
И plugin встречается только тут, больше его нигде не вызывают. Зачем оно надо?Java:public class AutoMessage extends JavaPlugin { public static AutoMessage plugin; @Override public void onEnable() { plugin = this; blablabla... } @Override public void onDisable() { MessageLists.unschedule(); plugin = null; } }
Спасибо. Зачекал остальные классы и увидел:ну если он статический, то скорее всего его юзают другие классы.
sender.sendMessage(CommandManager.getExtra() + "__________________.[ " + CommandManager.getHighlight() + AutoMessage.plugin.getName() + CommandManager.getExtra() + " ].__________________");
Опрашиваешь сервер из лаунчера.Допустим я делаю лаунчер и мне нужно узнать онлайн сервера, как это сделать?
EntityDamageByEntityEventПодскажите, пожалуйста, как сделать, чтобы при ударе игрока, что-либо выполнялось. Какой эвент и какое условие?
@EventHandler
public void on(EntityDamageByEntityEvent e)
{
Player p = (Player) e.getDamager();
if(e.getEntityType() == EntityType.PLAYER)
{
String name = e.getEntity().getName();
p.sendMessage("Вы ударили игрока " + name);
}
}
Я дамагер, и я - кактус. Слови ClassCastException.EntityDamageByEntityEvent
Коротенький пример:
Java:@EventHandler public void on(EntityDamageByEntityEvent e) { Player p = (Player) e.getDamager(); if(e.getEntityType() == EntityType.PLAYER) { String name = e.getEntity().getName(); p.sendMessage("Вы ударили игрока " + name); } }
^^Я дамагер, и я - кактус. Слови ClassCastException.