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

Помогите Загрузка schematic через свой плагин

Тема в разделе "Разработка плагинов для новичков", создана пользователем MasterCapeXD, 25 дек 2016.

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

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

    Баллы:
    66
    Имя в Minecraft:
    MasterCapeXD
    Таких похожих тем есть несколько, но у меня проблема поглубже.

    1) Как сделать, чтобы схематик грузился с точки (location или getX, getY, getZ) например у меня, при клике на табличку с определенным названием типа [Build], я беру location с метода playerInteractEvent при клике пкм на табличку с определенным названием. Потом как сделать чтобы этот Location использовал схематик при начале загрузки? Я вроде не видел в аргументах куда вписывать Location можно.

    2) Мне надо чтобы постройка строилась по блоку, например 1 блок каждые 2 секунды.Как это лучше всего сделать? Через BukkitRunnable или есть другой вариант/способ?

    Заранее спасибо
     
  2. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    BukkitRunnable is deprecated. Use Runnable instead.
    Можно и через шедулер, почему бы и нет.
    Смотря как ты хочешь реализовать и при помощи чего.
     
  3. Автор темы
    MasterCapeXD

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

    Баллы:
    66
    Имя в Minecraft:
    MasterCapeXD
    Что именно реализовать?

    Я не знаю просто, если самому ставить блок за блоком в методе BukkitRunnable типа так: getBlock().getLocation потом setType с задержкой, то очень лень, строить в коде, а схематиком легче.Но 1) надо чтобы схематик начал грузится с точки таблички 2) Чтобы он строился по блоку
     
  4. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Вставку схематику офк.
    Если через WE, то там надо через выделение. Если же кастом, то как хош.
     
  5. Автор темы
    MasterCapeXD

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

    Баллы:
    66
    Имя в Minecraft:
    MasterCapeXD
    Скорей, через WE (PS: посмотрите коммент выше, я там его подредактировал)
     
  6. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Не оч. Лучше сделать очередь блоков на установку. В таком случае можно подкинуть потоков (но на производительности это не отобразится - все в основном потоке выполняется).
    Придётся делать свою реализацию вставки блоков в мир.
    с твоим запросом - нет. Хотя, если через AsyncWE, как вариант. Но это лишняя зависимость.
     
  7. Автор темы
    MasterCapeXD

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

    Баллы:
    66
    Имя в Minecraft:
    MasterCapeXD
    1) У меня BungeeCord, а это для отдельного режима нужно. И постройки небольшого размера.Но если одновременно много игроков стройку начали, то это не очень.
    2) Какую реализацию посоветуете, через какие методы?
    3) Запасной вариант, если совсем по другому не смогу, но это еще их API изучать...
    А если такие дела, то детализацию в виде постройки блок за блоком можно лишится.Просто голограмму на время поставить тип "В процессе постройки..." - тогда можно и через Schematics, тогда нужно только одно, чтобы схематик грузился с определенной точки (location)
    а после истечения определенного времени загрузить схематик и убрать голограмму
     
  8. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    В твоём случае - ручками.
    Не одобряю. Если ты придумал идею, реализуй её до конца. Всеми правдами и неправдами.
     
  9. Автор темы
    MasterCapeXD

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

    Баллы:
    66
    Имя в Minecraft:
    MasterCapeXD
    Возможно, но если честно, мне кажется, что второй вариант даже прикольней.И нагрузка на сервер, считаю будет меньше, так как, Вы сами говорили, что через поток портится производительность.А при втором варианте получается, что схематик грузится через некоторое количество времени после исполнения условий, а до этого стоит голограмма с процентами и временем окончания постройки, и не будет сервер нагружатся длительное время, а поставил схематик маленький и все.
     
  10. CraftCoder

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

    Баллы:
    108
    Имя в Minecraft:
    CraftCoderr
    Попробуй использовать api FAWE.
     
  11. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Такого я не писал.
     
  12. alexandrage

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

    Баллы:
    173
    Из схематика набираешь блоки в некий лист. Потом запускай жаботаймер и пусть он сетает через scheduleSyncDelayedTask. Как то так.
     
  13. Автор темы
    MasterCapeXD

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

    Баллы:
    66
    Имя в Minecraft:
    MasterCapeXD
    Проблема в том, что я с такими методами еще не работал, и одной из тем данного тикета и есть загрузка схематика.Как вызвать загрузку схематика, указав точку локацию от коророй схематик берет начало
     
  14. Exception_Prototype

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

    Баллы:
    96
    http://rubukkit.org/threads/teleport-na-arenu.128026/#post-1392216
     
  15. Dereku

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

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Поработай. Изучи, прочитай, найди применение. Это не так сложно.
     

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