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

Туториал AirGen - Генератор летающих островов

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем MYXOMOPX, 30 мар 2014.

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

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

    Баллы:
    78
    Skype:
    MYXOMOPX
    Имя в Minecraft:
    MYXOMOPX
    Решил выложить свой новый генератор островов.


    Установка:
    • Скачиваем и устанавливаем VarScript.
    • Скачиваем Groovy и сам скрипт AirGen и кидаем их в 'lib' в корне сервера
    • Запускаем сервер и проверяем, все ли поставилось
      /g> airgen.SkyIsland.about()
      Если все сделано правильно, то напишет информацию о скрипте.
    Использование:
    Строим небольшую платформу (можно и несколько, главное что-бы они не были далеко друг от друга)
    Встаем на остров и пишем:
    • /g> island = new airgen.SkyIsland(me.location)
    Теперь в переменной island лежит новый остров, центр которого там, где Вы исполнили команду.
    Генерируем остров:
    • /g> island.next("my super seed")
    .next() - просчитывает "тело" острова и показывает вам его с помощью отправки фальшивых пакетов.
    В .next() можно передать сид.
    Пишем island.next() до тех пор, пока не сгенерируется остров, который Вам нравится и пишем
    • /g> island.apply()
    .apply() - ставит настоящие блоки, после чего остров можно будет редактировать руками.
    После .apply() применять .next() уже будет нельзя!

    Теория:
    Генератор островов состоит из двух компонентов: Формеры и Филлеры.
    На первом этапе Формеры генерируют тело острова, его основной скелет. Остров может иметь только один формер. Результат генерации зависит от сида, который был указан при вызове функции .next()
    Второй этап - это "заливка" тела блоками. За это отвечают Филлеры, которых у острова может быть любое количество. Обычно первый филлер заливает остров блоками камня, земли и травы. Следующий (если есть) - добавляет пещеры, следующий - руды, и т.д. Результат заливки зависит от сида а также от предыдущего филлера.

    Формеры:
    • MultiTemplateFormer - Формер по умолчанию. Ищет готовые поверхности в небольшом радиусе от центра острова и генерирует для них нижнюю часть острова
    • TemplateFormer - тот же MultiTemplateFiller, но работает только с одной поверхностью. Производительность в несколько раз выше
    • ZeroFormer - сам генерирует поверхность острова и нижнюю часть
    • HillFormer - аналогично предыдущему, но острова получаются более высокими
    Сменить формер можно командой:
    • /g> island << airgen.former.HillFormer
    Филлеры:
    • TerrainFiller - главный филлер, который заливает сам ландшафт: траву, землю и камень.
    • CaveFiller - генерирует в острове пещеры.
    • GrassFiller - генерирует на острове рандомную траву
    • OreFiller - добавляет острову руду
    • WaterFiller - генерирует в острове небольшие пруды
    У острова может быть несколдько филлеров. Порядок их использования важен.
    По умолчанию у острова есть только TerrainFiller
    Добавление филлера:
    • /g> island << airgen.filler.CaveFiller

    Настройки компонентов:
    Всю информацию о острове, можно увидеть с помощью команды
    /g> island
    Она выведет информацию о всех компонентах этого острова.

    настройка формеров
    Изменить любое поле у формера можно так:



      • /g> island.former.fieldName = Value
    У каждого формера (из 4х приведенных выше) есть свойства roughness и height.
    roughness - отвечает за шершавость низа острова.
    height - отвечает за высоту низа острова.

    HillFormer:
    • radius - размер острова (ширина и высота)
    • density - плотность острова (чем больше плотность - тем меньше дыр в острове)
    ZeroFormer:
    • floors - количество этажей у острова
    • radius - размер острова
    MultiTemplateFormer:
    • radius - радиус, в котором нужно искать готовые поверхности острова

    настройка филлеров
    Изменение свойств у филлера:
    • /g> island.fillers[номер_филлера].fieldName = value
    CaveFiller:
    • length - длина пещер в попугаях
    • count - количество пещер на острове
    • radius - радиус пещер в блоках
    GrassFiller:
    • density - плотность травы (от 0 до 1)
    OreFiller:
    • density - плотность руды (от 0 до бесконечности, 1 = ~90% камня заменит рудой )
    WaterFiller:
    • lakes - количество прудов на острове
    • size - размер прудов
    • lilies - плотность кувшинок (от 0 до 1)
     
    Последнее редактирование: 31 мар 2014
    MrXamster, MrShadow, Mr.Epic и 3 другим нравится это.
  2. Хостинг MineCraft
    <
  3. Hephest

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

    Баллы:
    153
    Skype:
    hephest1904
    Давно искал что-то похожее. Жаль, что не отдельный плагин, но с VarScript отлично пойдёт. Респект автору
     
  4. WCRAFT

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

    Баллы:
    173
    Skype:
    worldplaytv
    Имя в Minecraft:
    World
    Попроще что-нибудь бы.
     
  5. Hephest

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

    Баллы:
    153
    Skype:
    hephest1904
    Куда уж проще :\ Всё по полочкам тут расписано
     
    OJIoJIoIIIa нравится это.
  6. DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    Так влом делать команды для библиотеки AirGen.jar ...
    Да и зачем? - если варскрипт предоставляет полный доступ к ней.

    Для AirGen можно создавать пользовательские формеры и филлеры. Нужно всего лишь создать груви-скрипт в автозагрузке с реализацией класса airgen.former.Former или airgen.filler.Filler
    Нужна кому-нибудь инструкция по созданию кастомных компонентов?
     
    Hephest нравится это.
  7. General

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

    Баллы:
    123
    Проще взять TerrainControl, как это сделал я запилить нечто офигенное. Тем более там такое можно сделать, что игроки сначала офигеют, а потом сломают(Как всегда).
     
    ql_Nik_lp нравится это.
  8. DPOH-VAR

    DPOH-VAR Старожил Пользователь

    Баллы:
    153
    Skype:
    dpohvar
    Даже с WorldEdit можно нечто офигенное сделать. Он тоже может генерировать подобные острова
    но!
    Этим модулем можно делать предпросмотр острова, не ставя блоки, затем изменять параметры. Нам нужен был именно такой функционал.

    UPD:
    Никаких командных интерфейсов. Только голый API. Это же варскрипт! ;)
     
  9. General

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

    Баллы:
    123
    Чувак TerrainControl позволяет и генерировать WE объекты в виде BO3, да он вообще может сгенерировать любой мир.
     

    Вложения:

    • 5RxiDi7eqzw.jpg
      5RxiDi7eqzw.jpg
      Размер файла:
      21,7 КБ
      Просмотров:
      101
    • YcPgbFIehRI.jpg
      YcPgbFIehRI.jpg
      Размер файла:
      45,3 КБ
      Просмотров:
      101
    • Uyll7oB3zso.jpg
      Uyll7oB3zso.jpg
      Размер файла:
      50,5 КБ
      Просмотров:
      106
    • G9lggkLdskk.jpg
      G9lggkLdskk.jpg
      Размер файла:
      47,9 КБ
      Просмотров:
      92
  10. Автор темы
    MYXOMOPX

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

    Баллы:
    78
    Skype:
    MYXOMOPX
    Имя в Minecraft:
    MYXOMOPX
    TerrainControl - генератор мира, а мой скрипт генерирует острова в уже готовом мире.
     
    DPOH-VAR, Hephest и 0bsid1 нравится это.
  11. СуперМен

    СуперМен Новичок

    Баллы:
    8
    Нормально. То что надо.
     
  12. Дэнчиролс

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

    Баллы:
    63
    Skype:
    cooljoker1255
    Имя в Minecraft:
    Sweety666
    Слушай помоги с плагином terraincontrol а то я в нем разобраться не могуникак пожалуйста
     
  13. ApaDoctor

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

    Баллы:
    103
    тема не может называться удавшейся если в ней нет подобного сообщения)))
     

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