Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Невероятно часто всплывает тема про ReActions. Даже не знаю, хорошо это, или плохо...ReActions в помощь!
Вот как именно проверку написать?Можно запустить шедуляр, который выполняется раз в секунд, в нем уже делать проверку, если Y у игрока < 50, то убивай его. Либо использовать PlayerMoveEvent, но это более затратно по ресурсам сервера.
Зайди в тему fromgate и зайди на сайт,посмотри активаторы найдиВот как именно проверку написать?
//Приоритет поставь сам
@EventHander
public void onFallMove(PlayerMoveEvent event) {
if(event.getPlayer().getLocation().getY < 50) {
//Сюда вставить свой код
}
}
//Пакет (обычно указывается после названия плагина)
package ru.test.bukkit.eventexecute;
//Импорты (с библиотеки)
import org.bukkit.event.*;
import org.bukkit.event.player.*;
//Название класса и наследование
public class Executor implements Listener {
//Аннотация указывающая на ивент
@EventHandler
//Название ивента и в скобках его действие
public void onFall(PlayerMoveEvent event) {
//Проверка (getY идёт в double)
if(event.getPlayer().getLocation().getY() < 50) {
//Отправка сообщения если игрок находиться на меньше чем 50 блоков в высоту. (getBlock возращает int)
event.getPlayer().sendMessage("Вы на высоте: " + event.getPlayer().getLocation().getBlockY());
}
//Отменяем вызов ивента
event.setCanselled(true);
}
}
//Пакет (обычно указывается после названия плагина)
package ru.test.bukkit.eventexecute;
//Импорты (с библиотеки)
import org.bukkit.*;
import org.bukkit.plugin.java.*;
//Название класса и расширение
public class Main extends JavaPlugin {
//Аннотация
@Override
//Метод с класса JavaPlugin
public void onEnable() {
//Вывод в консоль
getLogger().info("Plugin ON. Try register event...");
//Регистрация ивента
Bukkit.getPluginManager().registerEvents(new Executor(), this);
//Вывод в консоль
getLogger().info("Registered. (Check in game)");
}
}
А разве в этом есть что-то плохое?)Объясните мне,дураку,почему вы разделили плагин в 1 эвент на 2 класса?
Я задал вопрос "почему",в надежде на то,что мне ответят в стиле "потому что".А разве в этом есть что-то плохое?)
Удобнее.Объясните мне,дураку,почему вы разделили плагин в 1 эвент на 2 класса?
https://ru.wikipedia.org/wiki/SOLID_(объектно-ориентированное_программирование)Объясните мне,дураку,почему вы разделили плагин в 1 эвент на 2 класса?
Т.е. нужно даже в мелкой программе пользоваться принципами ООП?
Почему и нет.Т.е. нужно даже в мелкой программе пользоваться принципами ООП?
спасибо за ответ,теперь я понел!Почему и нет.
event.getTo().getY < 40Можно запустить шедуляр, который выполняется раз в секунд, в нем уже делать проверку, если Y у игрока < 50, то убивай его. Либо использовать PlayerMoveEvent, но это более затратно по ресурсам сервера.