Скачать Clojure Command Language — Minecraft Моды — MetaMods

Clojure Command Language

Активный

Установок

0

Последнее обновление

3 года назад
Клиент
Fabric
Quilt
Forge
Neoforge
Утилиты

Clojure Command Language

Модификация Clojure Command Language представляет собой универсальную оболочку, которая расширяет возможности стандартной системы команд Minecraft, используя для этого полноценный язык программирования Clojure. Данное решение является тьюринг-полным, что позволяет применять в Minecraft команды такие элементы программирования, как переменные, циклы, условные конструкции и многие другие структуры для выполнения шаблонов команд.

Основные команды

Мод добавляет две ключевые команды: /ccl и /cclfile.

Команда /ccl

Эта команда открывает доступ к интерактивной командной строке, работающей на Clojure. Однако для выполнения сложных сценариев использовать её не рекомендуется - лучше применять файловый подход. Minecraft накладывает ограничения на использование слешей в командах, поэтому вместо прямых слешей следует применять символ '|', который будет автоматически преобразован перед выполнением.

Команда /cclfile

Этот инструмент оказывается гораздо практичнее в использовании. При первом запуске мода в корневой директории вашего сбора модов автоматически создается папка 'ccl_scripts' (не внутри /config/), куда можно помещать скрипты с расширением *.clj. Преимущество в том, что после сохранения файла немедленно становится доступным его использование - перезагрузка не требуется.

Для выполнения файла, расположенного по пути /my_modpack/ccl_scripts/sayhi.clj, достаточно ввести команду /cclfile sayhi.

Пример выполнения команды

Практический пример

Рассмотрим скрипт makeline.clj, демонстрирующий возможности мода:

(dotimes [x 50]
         (let [meta (mod x 15)]
              (lib/exec ["setblock ~" x " ~0 ~1 wool " meta]))) // Создаем линию блоков

Результат выполнения скрипта

Автор осознает, что Clojure подходит не всем пользователям, однако на текущий момент не планируется смена языка программирования или добавление поддержки других языков.

Участники проекта
Dark_Arcana

Dark_Arcana

Создан: 4 апр 2019

ID: 27470