Вопрос Подключение к определённому серверу при нажатии определённой кнопки...

Aigai872

Пользователь
Сообщения
63
Решения
1
Подключение к определённому серверу при нажатии определённой кнопки, к примеру игрок нажимает кнопку его переносить на сервер бв и т.д
 
Решение
Для начала нужно зарегистрировать канал BungeeCord что бы осуществлять подключения к серверам для этого нужно прописать в метод onEnable() данный код:
Java:
if (!Bukkit.getMessenger().isOutgoingChannelRegistered(this, "BungeeCord")) {
    Bukkit.getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
}
После этого нужно что бы плагин перехватывал какой блок вы нажали и какой клавишей (Правой или левой).
Для этого создается новый Event: PlayerInteractEvent.
И пишем в него следующее:
Java:
//Создания списка материалов на которых будет работать отправка пакета
List<Material> buttons = new ArrayList<Material>();
buttons.add(Material.STONE_BUTTON);
buttons.add(Material.WOOD_BUTTON);
//Проверка есть ли в списке данный материал и...
В чём вопрос?

Ну ладно, по теме категории.

PlayerInteractEvent + PluginMessage (или любой плагин, у которого есть аддон под spigot, который может перекидывать на сервера).
Чёт сложновато :D
 
Я ни разу не работал с банжей, но наверняка она добавляет команду для перемещения по серверам. Это кнш такой себе вариант, но можно отслеживать событие нажатия в сундуке, и от имени пользователя выполнять команду для перемещения его на другой сервер.
 
от имени пользователя выполнять команду для перемещения его на другой сервер.
Через Bukkit#dispatchCommand команда будет выполнятся на баккит сервере, а не банже, так что такое не прокатит.
 
Для начала нужно зарегистрировать канал BungeeCord что бы осуществлять подключения к серверам для этого нужно прописать в метод onEnable() данный код:
Java:
if (!Bukkit.getMessenger().isOutgoingChannelRegistered(this, "BungeeCord")) {
    Bukkit.getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
}
После этого нужно что бы плагин перехватывал какой блок вы нажали и какой клавишей (Правой или левой).
Для этого создается новый Event: PlayerInteractEvent.
И пишем в него следующее:
Java:
//Создания списка материалов на которых будет работать отправка пакета
List<Material> buttons = new ArrayList<Material>();
buttons.add(Material.STONE_BUTTON);
buttons.add(Material.WOOD_BUTTON);
//Проверка есть ли в списке данный материал и проверка нажал ли он ПКМ
if (buttons.contains(e.getClickedBlock().getType()) && e.getAction() == Action.RIGHT_CLICK_BLOCK) {
    //Создание нового пакета
    ByteArrayDataOutput out = ByteStreams.newDataOutput();
    out.writeUTF("Connect");
    //Сервер к которому вы хотите подключится
    out.writeUTF("surv");
    //Получения плагина
    JavaPlugin plugin = (JavaPlugin)Bukkit.getPluginManager().getPlugin("Названия вашего плагина");
    //Получения игрока и отправка пакета от его имени.
    e.getPlayer().sendPluginMessage(plugin, "BungeeCord", out.toByteArray());
}
Ну и в итоге мы получаем плагин который реагирует на нажатие кнопки и отправляет игрока на указанный сервер.
 
Привет, смотри, создается один сервер и он настраивается и например это будет режим Выживание, дальше создается еще один сервер и опять настраивается и это например уже будет: BedWars, после они связываются с помощью "BungeeCord" и дальше ты скачиваешь плагин который будет переносить на этот мир, например это будет "CitiZens"
 
Привет, смотри, создается один сервер и он настраивается и например это будет режим Выживание, дальше создается еще один сервер и опять настраивается и это например уже будет: BedWars, после они связываются с помощью "BungeeCord" и дальше ты скачиваешь плагин который будет переносить на этот мир, например это будет "CitiZens"
Как бы он хочет разработать плагин который будет переносить игрока по кнопке.
 
Назад
Сверху Снизу