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

Помогите Проблема с FAWE и WE API

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

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

    asdernik Ньюби

    Баллы:
    1
    Столкнулся с проблемой, с которой мне не смогли помочь в Дискорд сервере FAWE, может тут чё кто нибудь подскажет.

    Пишу некий плагин, в котором требуется взаимодействие с большим количеством блоков и их заменой каждую секунду. Для этого присмотрел FAWE и его API. Поставил на сервер, проверил командами, все работает.

    Начал подключать АПИ, написал функцию для замены, которая вызывается асинхронно и.. при вызове ничего не происходит. Функция вызывается, проверено отладкой, где то даже начинает выдавать ошибки( когда координата неверная, невозможная)

    Версии: Paper 1 20 4, FAWE 2.11.1, Java 22


    Я также попробовал setBlocks вместо replaceBlocks, и это тоже не дало результата.

    Важно, что это не сработало ни для обычного WE, ни для FAWE.

    Если у кого то есть рабочая функция для WE или FAWE, буду рад, если он мне ее предоставит для сравнения

    Буду рад любой помощи, спасибо.

    Код:
    public void replaceBlocks(com.sk89q.worldedit.world.World world, BlockVector3 pos1, BlockVector3 pos2, BlockType to) {
            try (EditSession editSession = com.fastasyncworldedit.core.Fawe.instance().getWorldEdit().newEditSession(world)) {
                Region region = new CuboidRegion(pos1, pos2);
              
                BlockType from = BlockTypes.AIR;
                BlockTypeMask blockMask = new BlockTypeMask(editSession, from);
                editSession.replaceBlocks(region, blockMask, to);
                Operations.complete(editSession.commit()); 
                
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
        }
     
  2. Хостинг MineCraft
    <
  3. Автор темы
    asdernik

    asdernik Ньюби

    Баллы:
    1
    Проблема решилась после полного удаления мира, который использовался для API, и его восстановления из резервной копии.
    Основной поток грузился и зависал, судя по всему, из за битой информации о чанке, проблема заключалась не в коде.
     

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