Макросы: список переменных, условий, команд и др.

18 июн 2016
Макросы: список переменных, условий, команд и др.
  • О том, как ставить макросы, смотри тут

    Содержание

    Переменные


    Окружив переменную символом %, можно вставить её в текст: &b = вода; log(тут %&b% %PLAYER%)
    • Пользователя (малыми буквами) — хранятся в .vars.xml и .globalvars.xml, даже после перезагрузки
      • ~ или без приставки — флаг: 0 — FALSE, не ноль — TRUE (z = 1 или ~z = 1)
      • #целое число (например: #a = 123, но не 123.45 или 123,45)
      • &строка (например: &b = вода)
        • Для обозначения текста кавычки обязательны только в условиях, но они могут пригодится и для того, чтобы поставить пробел после запятой:
          ifcontains(%&v%, "шило") равносильно ifcontains(%&v%,шило), но не ifcontains(%&v%, шило), потому что пробел считается частью текста, то есть " шило", а не "шило"
      • @ глобальная, видна всем скриптам (например: @flag = 1, @#int = 321, @&str = строка)
    • Игры (БОЛЬШИМИ буквами)
      • Ввод
        • KEYID, KEYNAME — номер и название клавиши, вызвавшей скрипт
        • KEY_0
          KEY_1
          KEY_2
          KEY_3
          KEY_4
          KEY_5
          KEY_6
          KEY_7
          KEY_8
          KEY_9
          KEY_A
          KEY_ADD
          KEY_APOSTROPHE
          KEY_APPS
          KEY_AT
          KEY_AX
          KEY_B
          KEY_BACK
          KEY_BACKSLASH
          KEY_C
          KEY_CAPITAL
          KEY_CIRCUMFLEX
          KEY_CLEAR
          KEY_COLON
          KEY_COMMA
          KEY_CONVERT
          KEY_D
          KEY_DECIMAL
          KEY_DELETE
          KEY_DIVIDE
          KEY_DOWN
          KEY_E
          KEY_END
          KEY_EQUALS
          KEY_ESCAPE
          KEY_F
          KEY_F1
          KEY_F10
          KEY_F11
          KEY_F12
          KEY_F13
          KEY_F14
          KEY_F15
          KEY_F16
          KEY_F17
          KEY_F18
          KEY_F19
          KEY_F2
          KEY_F3
          KEY_F4
          KEY_F5
          KEY_F6
          KEY_F7
          KEY_F8
          KEY_F9
          KEY_FUNCTION
          KEY_G
          KEY_GRAVE
          KEY_H
          KEY_HOME
          KEY_I
          KEY_INSERT
          KEY_J
          KEY_K
          KEY_KANA
          KEY_KANJI
          KEY_L
          KEY_LBRACKET
          KEY_LCONTROL
          KEY_LEFT
          KEY_LMENU
          KEY_LMETA
          KEY_LSHIFT
          KEY_M
          KEY_MINUS
          KEY_MOUSE3
          KEY_MOUSE4
          KEY_MULTIPLY
          KEY_N
          KEY_NEXT
          KEY_NOCONVERT
          KEY_NONE
          KEY_NUMLOCK
          KEY_NUMPAD0
          KEY_NUMPAD1
          KEY_NUMPAD2
          KEY_NUMPAD3
          KEY_NUMPAD4
          KEY_NUMPAD5
          KEY_NUMPAD6
          KEY_NUMPAD7
          KEY_NUMPAD8
          KEY_NUMPAD9
          KEY_NUMPADCOMMA
          KEY_NUMPADENTER
          KEY_NUMPADEQUALS
          KEY_O
          KEY_P
          KEY_PAUSE
          KEY_PERIOD
          KEY_POWER
          KEY_PRIOR
          KEY_Q
          KEY_R
          KEY_RBRACKET
          KEY_RCONTROL
          KEY_RETURN
          KEY_RIGHT
          KEY_RMENU
          KEY_RMETA
          KEY_RSHIFT
          KEY_S
          KEY_SCROLL
          KEY_SECTION
          KEY_SEMICOLON
          KEY_SLASH
          KEY_SLEEP
          KEY_SPACE
          KEY_STOP
          KEY_SUBTRACT
          KEY_SYSRQ
          KEY_T
          KEY_TAB
          KEY_U
          KEY_UNDERLINE
          KEY_UNLABELED
          KEY_UP
          KEY_V
          KEY_W
          KEY_X
          KEY_Y
          KEY_YEN
          KEY_Z
        • CTRL, ALT, SHIFT, KEY_<название> — дают истину, если нажаты
        • ~ALT
          ~CTRL
          ~KEY_0
          ~KEY_1
          ~KEY_2
          ~KEY_3
          ~KEY_4
          ~KEY_5
          ~KEY_6
          ~KEY_7
          ~KEY_8
          ~KEY_9
          ~KEY_A
          ~KEY_ADD
          ~KEY_APOSTROPHE
          ~KEY_APPS
          ~KEY_AT
          ~KEY_AX
          ~KEY_B
          ~KEY_BACK
          ~KEY_BACKSLASH
          ~KEY_C
          ~KEY_CAPITAL
          ~KEY_CIRCUMFLEX
          ~KEY_CLEAR
          ~KEY_COLON
          ~KEY_COMMA
          ~KEY_CONVERT
          ~KEY_D
          ~KEY_DECIMAL
          ~KEY_DELETE
          ~KEY_DIVIDE
          ~KEY_DOWN
          ~KEY_E
          ~KEY_END
          ~KEY_EQUALS
          ~KEY_ESCAPE
          ~KEY_F
          ~KEY_F1
          ~KEY_F10
          ~KEY_F11
          ~KEY_F12
          ~KEY_F13
          ~KEY_F14
          ~KEY_F15
          ~KEY_F16
          ~KEY_F17
          ~KEY_F18
          ~KEY_F19
          ~KEY_F2
          ~KEY_F3
          ~KEY_F4
          ~KEY_F5
          ~KEY_F6
          ~KEY_F7
          ~KEY_F8
          ~KEY_F9
          ~KEY_FUNCTION
          ~KEY_G
          ~KEY_GRAVE
          ~KEY_H
          ~KEY_HOME
          ~KEY_I
          ~KEY_INSERT
          ~KEY_J
          ~KEY_K
          ~KEY_KANA
          ~KEY_KANJI
          ~KEY_L
          ~KEY_LBRACKET
          ~KEY_LCONTROL
          ~KEY_LEFT
          ~KEY_LMENU
          ~KEY_LMETA
          ~KEY_LSHIFT
          ~KEY_M
          ~KEY_MINUS
          ~KEY_MOUSE3
          ~KEY_MOUSE4
          ~KEY_MULTIPLY
          ~KEY_N
          ~KEY_NEXT
          ~KEY_NOCONVERT
          ~KEY_NONE
          ~KEY_NUMLOCK
          ~KEY_NUMPAD0
          ~KEY_NUMPAD1
          ~KEY_NUMPAD2
          ~KEY_NUMPAD3
          ~KEY_NUMPAD4
          ~KEY_NUMPAD5
          ~KEY_NUMPAD6
          ~KEY_NUMPAD7
          ~KEY_NUMPAD8
          ~KEY_NUMPAD9
          ~KEY_NUMPADCOMMA
          ~KEY_NUMPADENTER
          ~KEY_NUMPADEQUALS
          ~KEY_O
          ~KEY_P
          ~KEY_PAUSE
          ~KEY_PERIOD
          ~KEY_POWER
          ~KEY_PRIOR
          ~KEY_Q
          ~KEY_R
          ~KEY_RBRACKET
          ~KEY_RCONTROL
          ~KEY_RETURN
          ~KEY_RIGHT
          ~KEY_RMENU
          ~KEY_RMETA
          ~KEY_RSHIFT
          ~KEY_S
          ~KEY_SCROLL
          ~KEY_SECTION
          ~KEY_SEMICOLON
          ~KEY_SLASH
          ~KEY_SLEEP
          ~KEY_SPACE
          ~KEY_STOP
          ~KEY_SUBTRACT
          ~KEY_SYSRQ
          ~KEY_T
          ~KEY_TAB
          ~KEY_U
          ~KEY_UNDERLINE
          ~KEY_UNLABELED
          ~KEY_UP
          ~KEY_V
          ~KEY_W
          ~KEY_X
          ~KEY_Y
          ~KEY_YEN
          ~KEY_Z
          ~LMOUSE
          ~MIDDLEMOUSE
          ~RMOUSE
          ~SHIFT
        • CONFIG — текущая конфигурация
      • Мир
        • ONLINEPLAYERS, MAXPLAYERS — число игроков в сети и максимум
        • DAYTIME, DAY, TICKS, DAYTICKS, TOTALTICKS — игровое время, тики (в творческом можно задать: /time set <число>)
        • RAIN — сила дождя (0–100)
        • SERVER, SERVERNAME, SERVERMOTD — сервер: адрес, название, ?
        • SEED — семя (ключ для генератора)
        • TEXTUREPACK — пакет текстур
      • Игрок
        • PLAYER, DISPLAYNAME — имя игрока
        • XPOS, YPOS, ZPOS — координаты: x – широта, y – высота, z – долгота
        • BIOME — биом (например, Plains)
        • HEALTH, ARMOUR — здоровье (0–20), броня (0–20)
        • HUNGER — голод (0–20)
        • OXYGEN — кислород
        • LEVEL — уровень
        • XP, TOTALXP — опыт: на текущем уровне, всего
        • MODE, GAMEMODE — режим: 0 – SURVIVAL, 1 – CREATIVE, 2 – ADVENTURE, 3 – SPECTATOR (в творческом: /gamemode <число>)
        • INVSLOT — выбранный слот (1–9)
        • LIGHT — освещённость
        • DIMENSION — измерение: NETHER, SURFACE, END, UNKNOWN
        • ITEM, ITEMCODE, ITEMNAME, ITEMDAMAGE, ITEMIDDMG — предмет
        • DURABILITY — долговечность (для проверки: F3+h)
        • FPS — кадров в секунду
        • SATURATION — насыщенность
        • HIT — значения: NONE, TILE, ..?
          HITDATA — значения: 0, ..?
          HITID, HITNAME — ид, название
          HITPROGRESS — степень разрушенности (1-8)
          HITSIDE — на какую сторону блока смотришь
          HITX, HITY, HITZ — координаты блока
          HIT_AGE
          HIT_ALT
          HIT_ATTACHED
          HIT_AXIS
          HIT_BITES
          HIT_CHECK_DECAY
          HIT_COLOR
          HIT_CONTENTS
          HIT_DAMAGE
          HIT_DECAYABLE
          HIT_DELAY
          HIT_DISARMED
          HIT_ENABLED
          HIT_EXPLODE
          HIT_EXTENDED
          HIT_EYE
          HIT_FACING
          HIT_FLIP
          HIT_HALF
          HIT_HAS_BOTTLE_0
          HIT_HAS_BOTTLE_1
          HIT_HAS_BOTTLE_2
          HIT_HAS_RECORD
          HIT_HINGE
          HIT_IN_WALL
          HIT_LAYERS
          HIT_LEGACY_DATA
          HIT_LEVEL
          HIT_LOCKED
          HIT_MODE
          HIT_MOISTURE
          HIT_NODROP
          HIT_NORTH, HIT_EAST, HIT_SOUTH, HIT_WEST
          HIT_OCCUPIED
          HIT_OPEN
          HIT_PART
          HIT_POWER
          HIT_POWERED
          HIT_ROTATION
          HIT_SEAMLESS
          HIT_SHAPE
          HIT_SHORT
          HIT_SNOWY
          HIT_STAGE
          HIT_SUSPENDED
          HIT_TRIGGERED
          HIT_TYPE
          HIT_UP
          HIT_UPPER
          HIT_VARIANT
          HIT_WET
        • DIFFICULTY, LOCALDIFFICULTY — сложность: PEACEFUL - 0, EASY - 75, NORMAL - 150, HARD - 225
        • HELMID, HELMNAME, HELMDAMAGE, HELMDURABILITY
        • CHESTPLATEID, CHESTPLATENAME, CHESTPLATEDAMAGE, CHESTPLATEDURABILITY
        • LEGGINGSID, LEGGINGSNAME, LEGGINGSDAMAGE, LEGGINGSDURABILITY
        • BOOTSID, BOOTSNAME, BOOTSDAMAGE, BOOTSDURABILITY
        • CONTAINERSLOTS — число слотов в сундуке (?)
        • CHUNKUPDATES — обновления чанка
        • VEHICLE, VEHICLEHEALTH — транспортное средство: название, здоровье
        • STACKSIZE — размер стека
        • UUID — UUID
        • SCREEN
        • CANFLY, FLYING — полёт: возможность, процесс (в творческом: /gamemode 1 -- затем двойной прыжок)

    Массивы


    • Флагов: arr_f[0] = 0; arr_f[1] = 1; arr_f[2] = arr_f[1]
    • Чисел: #arr_n[0] = 123; #arr_n[1] = 321; #arr_n[2] = #arr_n[0]
    • Строк: &arr_s[0] = азъ; &arr_s[1] = букы; &arr_s[2] = %&arr_s[0]%
    • log(%arr_f[0]% | %arr_f[1]% | %arr_f[2]%)
    • log(%#arr_n[0]% | %#arr_n[1]% | %#arr_n[2]%)
    • log(%&arr_s[0]% | %&arr_s[1]% | %&arr_s[2]%)

    • split(<разделитель>,<строка>,[массив]) — поместит разделённые строки в массив

      Пример 1 (здесь пробел - это разделитель, то есть " ")
      &str = Тов ка ч
      split( ,%&str%,&arr)

      #max = arraysize(&arr)
      #max = #max - 1

      for(#i,0,%#max%)
      log(%&arr[%#i%]%)
      next
    • join(<клей>,<массив>,[#строка]) — запишет в строку все элементы массива, соединяя "клеем"

      Пример 1 (здесь "_" — это клей; результат: "Тов_ка_ч")
      &arr[0] = Тов; &arr[1] = ка; &arr[2] = ч
      join(_,&arr,&str2)
      log(%&str2%)
    • indexof(<массив>,<#результат>,<искомое>) — выдаст номер первого элемента, совпавшего с искомым. Выдаст -1, если не найдёт.

      Пример 1 (выдаст номер элемента с "ка")
      &arr[0] = Тов; &arr[1] = ка; &arr[2] = ч
      indexof(&arr,#n,ка)
      log(%#n%)

      Регистр не имеет значения, а значит найдёт и Ка / КА / кА
    • push(<массив>,<значение>) — положит значение в конец массива (то же, что и <массив>[] = <значение>, например, #arr[] = 123)
    • pop(<массив>,<значение>) — возьмёт последнее значение в массиве
    • put(<массив>,<значение>) — вставит значение в первый пустой элемент (??)
    • arraysize(<массив>,[#результат]) — выдаст размер массива (номер последнего элемента+1)
    • Удаление массива: unset(<массив>[]) -- например: unset(#arr[])

    Условия


    • =, == — равно (5 = 5)(5 == 5)("вода" = "вода")("вода" == "вода")
    • != — неравно (5 != 4)
    • >, < — больше (5 > 4), меньше (4 < 5)
    • >=, <= — больше/равно (5 >= 5)(5 >= 4), меньше/равно (5 <= 5)(4 <= 5)
    • && — и ((<условие>) && (<условие>) — истинно, если выполняются оба условия)
    • || — или ((<условие>) || (<условие>) — истинно, если выполняется хотя бы одно условие)

    • if(<условие>) — если условие выполняется
    • else — иначе (если условие НЕ выполнилось)
    • elseif(<условие>) — else+if (если условие НЕ выполнилось, то проверит ещё одно условие)
    • endif — конец
    • ifmatches(<субъект>,<шаблон>) — если шаблон подходит (то есть условие выполняется)

      Пример:
      • &v = d e f
      • ifmatches(%&v%,(.*) e (.*))
        • log(Шаблон подходит)
      • else
        • log(Шаблон НЕ подходит)
      • endif
    • ifcontains(<текст>,<объект>) — если <текст> содержит <объект>
      ifbeginswith(<текст>,<объект>) — если <текст> начинается с <объект>
      ifendswith(<текст>,<объект>) — если <текст> кончается на <объект>

      Пример (если текст содержит "шило")
      • &v = В стоге сена есть шило
      • ifcontains(%&v%,шило)
        • log(истинно)
      • endif

      Будет работать и с ifendswith, но не с ifbeginswith, потому что "шило" есть в конце, но не в начале текста.
    • iif(<условие>,<если_истина>,[если_ложь]) — аналогично примеру 1, но c использовfнием echo вместо log

    Пример 1:
    • a = 0
    • if(a)
      • log(истина)
    • else
      • log(ложь)
    • endif

    Пример 2 (если здоровье < 1.5 сердца, то "/warp spawn"):
    • iif(HEALTH < 3,/warp spawn)

    Пример 3 (использование elseif: подбор причины; например, можно заменить "нужда" на "деньги")
    • &v = деньги
    • if(&v = "люди")
      • log("думаю, да, %&v%")
    • elseif(&v = "желание")
      • log("вполне возможно, что %&v%")
    • elseif(&v = "нужда")
      • log("да, %&v%")
    • else
      • log("не знаю")
    • endif

    Циклы


    • break — прервёт цикл
    • inc, dec(<#число>,[количество]) — увеличит/уменьшит (#число = #число +/- количество)
      • inc(#i), dec(#i) равносильны inc(#i, 1), dec(#i, 1)

    Цикл повторяется <число> раз, но если пропустить <число>, то он будет повторяется без конца.

    Пример (выставит 10 раз товар в МИ):
    • do(10)
      • echo(/ws add 1.99)
    • loop
    Пока условие ложно, цикл будет повторяться

    Пример (напишет 1, 2, 3):
    • #i = 1
    • do
      • log(%#i%)
      • inc(#i)
    • until(3 < #i)
    Пока условие истинно, цикл будет повторяться

    Пример (напишет 1, 2, 3):
    #i = 1
    do
    log(%#i%)
    inc(#i)
    while(#i <= 3)
    Цикл повторяется (конец-начало + 1) раз, с каждым новым шагом увеличивается на 1 значние переменной

    Пример (напишет 2, 3, 4, 5):
    for(#i, 2, 5)
    log(%#i%)
    next

    ^ цикл повторится 4 раза (= 5-2 + 1) и с каждым новым шагом увеличивается значение #i: 2, 3, 4, 5
    env: VARNAME
    players
    : PLAYERNAME
    effects
    : EFFECTID, EFFECT, EFFECTNAME, EFFECTPOWER, EFFECTTIME
    enchantments
    : ENCHANTMENTNAME, ENCHANTN

    Пример 1 (запишет в файл¹ список игроков)
    • foreach(players)
      • logto(Игроки.txt,%PLAYERNAME%)
    • next

    Пример 2 (проверит, если игрок "useigor" в сети)
    • status = 1
    • foreach(players)
      • if(PLAYERNAME = "useigor")
        • unset(status)
        • log("игрок %PLAYERNAME% есть в сети")
        • break
      • endif
    • next

    • if(status)
      • log("игрока useigor нету в сети")
    • endif

    1 - Чтобы кириллица нормально отобразилась в имени файла, файл скрипта должен быть в ANSI

    Команды


    Некоторые можно писать по-разному, например: ucase(вода,&result) равносильно &result = ucase(вода)
    • assign(<перем>,<значение>) — присвоит значение переменной (то же, что и <перем> = <значение>)
    • echo(<ввод>) — напишет в чате (для всех)
    • log(<ввод>) — напишет в чате (для себя)
    • logto(<цель>,<текст>) — выведен текст в цель, которая может быть файлом или полем текста
    • wait(<время>) — на время приостановит скрипт: 123 - сек, 123ms - мсек, 123t - тики
    • match(<текст>, <шаблон>, [&результат], [группа]??, [по умолчанию]??) — по шаблону вытащит значения из текста.

      Пример (из текста "a b c" вытащит то, что находится слева и справа от " b "):
      &v = a b c
      match(%&v%, "(.*) b (.*)",{&x,&y})
      log(%&x%|%&y%)
    • set(<переменная>,[значение]) — задать истину/значение
    • unset(<флаг>) — задать ложь, удалить переменную/массив (массив с [], например, arr[])
    • toggle([флаг]) — переключит флаг (например, истина станет ложью, и наоборот)
    • sqrt(<число>,[#результат]) — квадратный корень (например, для 9 даст 3, для 10 то же, так как целое число)
    • ucase, lcase(<ввод>,[&результат]) — переведёт в верхний, нижний регистр
    • disconnect() — отключит от сервера
    • sprint(), unsprint() — начать/кончить бег
    • clearchat() — очистит чат
    • unsafe(число); ...; endunsafe — этот блок ограничивает число исполнений: чем больше число, тем больше скорость исполнения команд
    • key(<название>) — нажмёт клавишу (длительность 1 тик): inventory, drop, chat, attack, use, pick
    • keydown, keyup(<название>) — зажмёт/отожмёт клавишу: forward, back, left, right, jump, sneak; если между keydown и keyup не будет задержки, то они не будут работать
    • togglekey(<название>) — то же, что и keydown/keyup; если клавиша была зажата, то отожмёт, и наоборот
    • type(<текст>) — будет нажимать клавиши каждый 1 тик (например, type(wwwwwddwdwddw))
    • press(<lwjgl_название>) — введёт событие клавиши (длительность 1 так), например, press(KEY_Q)
    • inventoryup, inventorydown(<число>) — прокрутит <число> раз вперёд/назад выбор слота
    • slot(<число>) — выберет слот
    • itemid(<предмет>), itemname(<ид>) — выдаст ид/название предмета (например, #id=itemid(stone); &name=itemname(1))
    • placesign([строка1],[строка2],[строка3],[строка4],[показатьГИП]) — поставит табличку с текстом (если она имеется), например: placesign(%DATE%,%TIME%,SPLEEF201508 )
    • achievementget(<текст>,[itemid[:damage]]) — покажет достижения с данным текстом, например: achievementget(Обделаться,stone:123)
    • craft(<предмет[:урон]>,[количество],[бросить],[verbose]??) — сделает предмет, если имееются составные материалы, например: craft(snow,1) --- хз почему NOT ENOUGHT ITEMS - раньше (осенью 2015) работало, но я не помню, что тогда вводил
    • craftandwait(<item[:id]>,[количество],[бросиьт],[verbose]??) — Queues an auto-crafting request and waits for it to complete
    • stop([ид]) — остановит текущий макрос или макрос с данным заданием (см. ниже) или ИД-ом (если создать переменную, то в файле .vars.xml будет виден ид)
    • exec(<файл>,[задание],[параметры]) — запускает файл со скриптом, который будет работать параллельно (например, exec(beoumin_pryg.txt).
      • Дав "задание" можно по его названию остановить скрипт. Например, exec(file.txt и zadanjo); stop(zadanjo)
      • Параметры - переданные переменные ($$[1], $[2], ...). Например, exec(file.txt,zadanjo,znak), а в самом файле log($$[1]). Поскольку $$[число] не работает в условиях (по крайней мере, у меня), перед проверкой нужно получить значение, например, &var1 = $$[1] (можно и #var1, var1 в зависимости от нужды), а затем в условии использовать: if(&var1 = "znak"); log(да: %&var1% или $$[1]); else; log(не: %&var1% или $$[1]); endif
    • ...

    Всякое


    • setres(<ширина>,<высота>) — задаст размер окна с игрой; DISPLAYWIDTH, DISPLAYHEIGHT
    • fog([значение]) — переключит/задаст расстояние прорисовки
    • fov(<значение>,[время]) — задаст поле зрения (пример: fov(225, 10)); FOV (обычно 30–110)
    • gamma(<значение>,[время]) — задаст яркость; GAMMA (обычно 0-100, до 200)
    • music(<значение>,[время]) — задаст громкость музыки; MUSIC
    • volume(<значение>,[время]) — задаст громкость звука; SOUND (ещё есть AMBIENTVOLUME, BLOCKVOLUME, NEUTRALVOLUME, HOSTILEVOLUME, PLAYERVOLUME, RECORDVOLUME, WEATHERVOLUME)
    • look, looks(<горизонталь>,[вертикаль],[время]) — абсолютно поворачивает в указанное направление (или относительно: +, -; например: +90, -0)
      • DIRECTION — направление: N – север, E – восток, S – юг, W – запад
      • YAW, CARDINALYAW — угол поворота по горизонтали (начало на юге, на севере)
      • PITCH — угол поворота по вертикали
    • calcyawto(<x>, <y>, [#результат], [#расстояние]) — выдаст угол поворота по горизонтали к x,y. Пример: #a=calcyawto(-3138,-1381,#a2,#d); log(%#a%=%#a2% %#d%); #a=#a+180; look(%#a%,0)
    • config(<название>) — переключит на данную конфигурацию; CONFIG
    • import(<название>) — перекроет данную конфигурацию
    • unimport()— удалит перекрытие данной конфигурации, если активна
    • resourcepacks([pattern],[pattern],...) — задаст стек пакета ресурсов в соответствии данными patterns; RESOURCEPACKS
    • sensitivity(<значение>,[время]) — задаст чувствительность мыши; SENSITIVITY (0-200)
    • shadergroup([путь]) — задаёт активный shader group на shader соответствующего пути, используй "+" для выбора следующей группы; SHADERGROUP
    • gui (<название>) — покажет ГИП (графический интерфейс пользователя): chat, menu, inventory, options, video, controls, macrobind, macroconfig
    • showgui(<название>) — покажет редактируемый ГИП, например: showgui(inchat); GUI
    • time(<&результат>,[формат]) — выдаст текущее время и дату, можно указать формат; DATE, TIME, DATETIME
    • ...

    Модули


Rioniil, OOIIOOOO, Titanur и ещё 1-му нравится это.