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

Туториал [VarScript 1.x] Скрипты, классы

Тема в разделе "Руководства, инструкции, утилиты", создана пользователем DPOH-VAR, 2 мар 2015.

  1. Автор темы
    DPOH-VAR

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

    Баллы:
    153
    Skype:
    dpohvar
    VarScript 1.x
    Скрипты, классы
    -------------------------------------------------
    VarScript на dev.bukkit.org |
    Описание плагина на rubukkit.org |
    -------------------------------------------------​
    1 Скрипты
    Все скрипты хранятся в директории plugins/Varcript/scripts/ и имеют расширение .groovy.
    Используемый синтаксис внутри скрипта аналогичен синтаксису команды '/>'
    Пример: plugins/Varcript/scripts/healPlayers.groovy
    Код:
    // скрипт восполняет 1 сердечко здоровья всем игрокам
    players.each {
        if (!it.dead) 
            it.hp += 2
    }
    Использование:
    Чтобы вызвать скрипт, нужно запустить его как функцию:
    /> healPlayers()
    или же просто указать его название:
    /> healPlayers

    Теперь предположим, что мы хотим передать в скрипт какие-либо параметры. Скрипт может их получить с помощью переменной args:
    Код:
    // скрипт восполняет здоровье всем игрокам
    // количество здоровья передавайте в параметре
    players.each {
        if (!it.dead) 
            it.hp += args[0]
    }
    Запуск скрипта:
    /> healPlayers( 10 )
    В сокращенной записи скобочки можно не указывать:
    /> healPlayers 10
    Если параметров больше одного, они указываются через запятую.
    Скрипт возвращает значение, которое выполнилось последним.
    Внутри скрипта также можно запускать скрипты.
    Пример функции факториала: plugins/Varcript/scripts/factorial.groovy
    Код:
    // рекурсивный подсчет факториала
    if (args[0] <= 1) {
        1
    } else {
        args[0] * factorial( args[0] - 1 )
    }
    /> r = factorial 10
    [ws>] 3628800

    2 Классы
    Про классы более подробно написано тут: http://groovy-lang.org/objectorientation.html (en)
    Файлы классов должны иметь расширение .groovy и располагаться в директории scripts.
    Расположение файла должно соответствовать полному имени класса,
    т.е. класс my.package.User должен располагаться в файле plugins/VarScript/scripts/my/package/User.groovy
    Кроме того, классы имеют ряд ограничений, в отличие от скриптов:
    • Внутри класса нет доступа к переменным workspace, me, caller, _ и другим
    • По этой же причине класс не может самостоятельно зарегистрировать таймер или событие.
    • Класс не может исполнить скрипт
    Компиляция классов происходит динамически (в тот момент, когда они понадобились), что позволяет изменять их "на лету".
    Любой сценарий, вызванный из файла или же командной строки имеет доступ ко всем классам по полному имени.
     
  2. Хостинг MineCraft
    <

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