Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите //Set 1 в коде

Тема в разделе "Разработка плагинов для новичков", создана пользователем Cristalix, 24 июн 2017.

  1. Автор темы
    Cristalix

    Cristalix Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    Superzeka
    Здраствуйте.
    Обращаюсь сюда за помощью.
    Подключил к своему плагину WorldEdit.
    Создал команду Test.
    Я хочу сделать.
    Когда игрок выделил область
    И введ команду /Test все блоки в выделенной области должны замениться на блок с id 1.
    Что-то до меня еще не доперло как это делать.

    Застрял я на получений Selection игрока.

    (Неужели придется через цикл делать? В World Edit это не предусмотрено?)
     
  2. Хостинг MineCraft
    <
  3. Dexel

    Dexel Активный участник Пользователь

    Баллы:
    76
    Skype:
    the_osirius
    Представим, что метод getWorldEdit() возвращает твой объект класса WorldEditPlugin. Короче говоря,
    Код:
    public WorldEditPlugin getWorldEdit() {
        Plugin p = Bukkit.getServer().getPluginManager().getPlugin("WorldEdit");
        if (p instanceof WorldEditPlugin) return (WorldEditPlugin) p;
        else return null;
    }
    Тебе надо использовать метод getWorldEdit()#getSelection(Player).
    А там уже походу заполнять циклом.
     
  4. JolyHoska

    JolyHoska Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    JolyHohol
    Можно заменять эту команду на команду из WorldEdit Вот код примера:
    Код:
        @EventHandler
        public void onCmd(PlayerCommandPreprocessEvent e) {
            if(e.getMessage().startsWith("/test")) {
                e.setMessage(e.getMessage().replace("/test", "//replace 2 1")); 
            }
    [DOUBLEPOST=1498464214,1498464103][/DOUBLEPOST]Ну если пойдешь трудным путем, то...
    Код:
        private WorldEditPlugin getWorldEdit() {
            Plugin we = Bukkit.getServer().getPluginManager().getPlugin("WorldEdit");
            return we != null && we instanceof WorldEditPlugin?(WorldEditPlugin)we:null;
     
  5. Dexel

    Dexel Активный участник Пользователь

    Баллы:
    76
    Skype:
    the_osirius
    Зачем PreProccess, если можно зарегистрировать команду на плагин?

    А что во втором варианте? Ты просто берёшь экземпляр WorldEdit.
     

Поделиться этой страницей