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

Плагин [ADMN/DEV/FUN] VarScript 1.2 - Пишем скрипты на Groovy

Тема в разделе "Релизы плагинов", создана пользователем DPOH-VAR, 29 сен 2012.

  1. Tiberiumk

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

    Баллы:
    76
    А как потом скрипты создавать на питоне?
     
  2. Автор темы
    DPOH-VAR

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

    Баллы:
    153
    Skype:
    dpohvar
    Нужно на груви запустить интерпретатор питона.
    Например, создаем скрипт:
    Код:
    @Grab(group='org.python', module='jython-standalone', version='2.5.2')
    import org.python.util.PythonInterpreter;
    
    // создаем интерпретатор
    PythonInterpreter interp = new PythonInterpreter();
    // передаем в него нужные переменные из груви-окружения
    interp.set("workspace",workspace)
    interp.set("global",global)
    interp.set("server",server)
    // запускаем файл
    interp.execfile("plugins/varscript/scripts/python/test.py")
    Теперь создаем файл plugins/varscript/scripts/python/test.py, в котором пишем скрипт на питоне.
    При запуске этого груви-скрипта запустится питоновский скрипт.
     
  3. Tiberiumk

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

    Баллы:
    76
    Скрипты на питоне пишутся таким же образом, как для старых версий VarScript'а ? Т.е. доступ к BukkitAPI и тому подобное
     
  4. Автор темы
    DPOH-VAR

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

    Баллы:
    153
    Skype:
    dpohvar
    Обновление до версии 1.2
    https://www.spigotmc.org/resources/varscript.9190/
    Тут очень-очень много накопленных за полгода изменений.
    Вот основные:

    1. Гит!

    Да, он работает. Но в рамках плагина - только на чтение. Теперь можно разрабатывать скрипты локально и затем отправлять их на удаленный сервер. Или же скачать готовый проект со всеми плюшками по ссылке.
    Пример:
    Клонируем себе проект по ссылке в папку project1
    /ws git clone httр://mygitserver/user/bukkit-project.git project1
    При необходимости авторизации в гите вводим логин и пароль.
    По умолчанию проект не создает локальных бренчей и пытается сделать чекаут origin/master
    Переключаемся в воркспейс project1
    /ws set project1
    Если нам нужен другой бренч, мы можем выбрать любой из списка:
    /ws git branch all
    А теперь переключиться в нужный бренч:
    /ws git checkout origin/dev
    Также можно откатиться на любой коммит. Историю коммитов можно посмотреть командой:
    /ws git log
    Теперь добавляем воркспейс в автозагрузку:
    /ws autorun add project1
    Если не хочется перезагружаться, мы можем запустить его немедленно:
    /ws start project1
    Допустим, нам нужно синхронизировать проект с удаленным репозиторием.
    /ws fetch remote
    При необходимости авторизации в гите снова вводим логин и пароль.
    Хорошо, мы синхронизировали проект. Чтобы применить изменения, нужно снова сделать чекаут в нужную ветку:
    /ws git checkout origin/dev
    Это всё. Для тех, кто знаком с гитом, это не будет проблемой.
    В общем случае, чтобы скопировать себе и запустить чей-то готовый проект, достаточно ввести только эти команды:
    /ws git clone httр://mygitserver/user/bukkit-project.git project1
    /ws autorun add project1
    /ws start project1

    Поэтому распространять скрипты будет проще.

    2. Воркспейс может использовать отдельную директорию
    По умолчанию это plugins/VarScript/autorun/<имя>.
    При запуске воркспейса из директории ищется файл main.groovy, а в остальном это аналогично обычным autorun-скриптам.
    Еще одно замечание: если создать класс в этой директории, он будет доступен для всех groovy скриптов.

    3. Воркспейсы теперь в глобальной области видимости
    Каждый созданный воркспейс доступен по своему имени.
    Вот наглядный пример:
    Код:
    // File autorun/ws_badPlayers.groovy
    badNames = ["Nagibator", "Anonymous"]
    Код:
    // File autorun/ws_security.groovy
    isNameBad = { player ->
        player.name in ws_badPlayers.badNames
    }
    /> ws_security.isNameBad(me)
    [workspaceName]> false

    При обращении к воркспейсу он загружается автоматически.

    4. Автозагрузка
    Теперь скрипт недостаточно скопировать в папку autorun. Нужно явно его добавить в список автозагрузки:
    /ws autorun add [workspace]
    Это касается как обычных groovy файлов, так и проектов.

    Также исправлены некоторые баги:
    - ошибка в workspace API при остановке генератора скриптов
    - на некоторых дедиках VarScript вообще не запускался (ограничения безопасности доступа к домашней папке)
    - помощь ко командам: /ws help и /ws git help
    - исправлены ошибки в таб-комплитере.
     
  5. 0bsid1

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

    Баллы:
    123
    Имя в Minecraft:
    Artarious
    Для 1.10.2 будет?
     
  6. Автор темы
    DPOH-VAR

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

    Баллы:
    153
    Skype:
    dpohvar
    А разве он не работает 1.10.2?
    Если косячит, напишите мне стектрейс в режиме дебага (debug: true в конфиге)
     
  7. 0bsid1

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

    Баллы:
    123
    Имя в Minecraft:
    Artarious
    Извиняюсь, это я накосячил, все нормально теперь.
    Когда релиз PowerTower?
     
  8. Автор темы
    DPOH-VAR

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

    Баллы:
    153
    Skype:
    dpohvar
    Боюсь, что не дождётесь.
    Вроде бы плагин не сложный, но: ...
    У меня не получилось себе же составить ТЗ. Поэтому уже третий раз я его откладываю в долгий ящик.
     

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