1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Вставить регион и заменить сундуки WE API

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

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

    Snowmaze Участник Пользователь

    Баллы:
    36
    У меня в консоли пишет, что всё, что из WE не найдено
     
  2. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
  3. Автор темы
    Snowmaze

    Snowmaze Участник Пользователь

    Баллы:
    36
  4. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
  5. Автор темы
    Snowmaze

    Snowmaze Участник Пользователь

    Баллы:
    36
    Да. А это версия для буккита что ли? У меня ядро спигот на локалке, да и на сервере спигот не поддерживает
    2019-06-06_15-00-34.png
     
  6. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Вот сурсы, если че.

    Код:
    package wg;
    
    import org.bukkit.plugin.java.JavaPlugin;
    import com.sk89q.worldedit.WorldEdit;
    
    public class Main extends JavaPlugin {
    
        @Override
        public void onEnable() {
            WorldEdit.getInstance().getEventBus().register(new MyEventHandler());
        }
    }
    Код:
    package wg;
    
    import com.sk89q.worldedit.event.extent.EditSessionEvent;
    import com.sk89q.worldedit.util.eventbus.Subscribe;
    import com.sk89q.worldedit.EditSession;
    
    public class MyEventHandler {
        @Subscribe
        public void onEditSessionChange(EditSessionEvent event) {
            if (event.getStage() == EditSession.Stage.BEFORE_CHANGE) {
                event.setExtent(new DelegateExtent(event.getExtent()));
            }
        }
    }
    Код:
    package wg;
    
    import org.bukkit.Bukkit;
    import org.bukkit.Material;
    
    import com.sk89q.worldedit.WorldEditException;
    import com.sk89q.worldedit.bukkit.BukkitAdapter;
    import com.sk89q.worldedit.extent.AbstractDelegateExtent;
    import com.sk89q.worldedit.extent.Extent;
    import com.sk89q.worldedit.math.BlockVector3;
    import com.sk89q.worldedit.world.block.BlockStateHolder;
    
    public class DelegateExtent extends AbstractDelegateExtent {
        public DelegateExtent(Extent extent) {
            super(extent);
        }
    
        @Override
        public boolean setBlock(BlockVector3 location, BlockStateHolder block) throws WorldEditException {
            if (block.getAsString().contains("minecraft:chest")) {
                return super.setBlock(location, BukkitAdapter.adapt(Bukkit.createBlockData(Material.AIR)));
            }
            return super.setBlock(location, block);
        }
    }
     
  7. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
  8. Автор темы
    Snowmaze

    Snowmaze Участник Пользователь

    Баллы:
    36
    Он просто там стоял вместе с 6 версией WE, мне он сейчас не нужен, потом поменяю если надо
     
  9. Автор темы
    Snowmaze

    Snowmaze Участник Пользователь

    Баллы:
    36
    Под Spigot 1.12.2 можно же писать на версии WE API 7.0.0? xD
     
  10. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Нет. И на 6том we я хз работало такое или нет.
     
  11. Автор темы
    Snowmaze

    Snowmaze Участник Пользователь

    Баллы:
    36
    А какую там версию API тогда надо и как это сделать под эту версию? Я бы сам посмотрел как всё это сделать, но сайт с доками WE API почему-то лежит(
     
  12. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    spigot 1.13.2 или выше. Тогда заведется.
     
  13. Автор темы
    Snowmaze

    Snowmaze Участник Пользователь

    Баллы:
    36
    Нет, мне надо версию API под ядро 1.12.2 и код
     
  14. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну тогда не ко мне. Сорян. Я поделился тем, что делал себе. То был плагин на защиту бедрока на карте от донатеров с set.
     
  15. Автор темы
    Snowmaze

    Snowmaze Участник Пользователь

    Баллы:
    36
    Спасибо за помощь! Я попробую всё-таки под 1.13.2 пока сделать
     
  16. Автор темы
    Snowmaze

    Snowmaze Участник Пользователь

    Баллы:
    36
    А ещё вопросик, есть способ забиндить замену сундуков на отдельные команды типа //paste и //stack? А то на все в итоге работает
     
  17. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Увы нет. Там один ивент на все.
     

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