OC-Wasm: WebAssembly в Minecraft — новый способ программирования

OC-Wasm для Minecraft: запускайте WebAssembly-программы на компьютерах OpenComputers. Пишите код на Rust, Zig и других языках, расширяя возможности мода!

Скачать oc wasm для Minecraft 1.12.2, 1.12.1

Оригинальное название: oc wasm

Версии Minecraft: 1.12.1, 1.12.2

Загрузчик: Forge

ФайлВерсияЗагрузчикРазмер
oc-wasm-1.12-0.0.1.0.jar1.12.1Forge5.5 МБСкачать
oc-wasm-1.12-0.2.0.jar1.12.2Forge5.5 МБСкачать
oc-wasm-1.12-0.3.0.jar1.12.2Forge5.5 МБСкачать
oc-wasm-1.12-0.4.0.jar1.12.2Forge5.5 МБСкачать
oc-wasm-1.12-0.5.0.jar1.12.2Forge5.5 МБСкачать
oc-wasm-1.12-1.0.0.jar1.12.2Forge5.5 МБСкачать

OC-Wasm: архитектура WebAssembly для OpenComputers

Мод OpenComputers давно стал стандартом для тех, кто хочет программировать внутри Minecraft. Но Lua — не единственный язык, на котором можно писать софт для виртуальных компьютеров. Дополнение OC-Wasm добавляет поддержку WebAssembly, открывая дверь в мир Rust, Zig, C и десятков других компилируемых языков. Если вы искали OC-Wasm для Minecraft, чтобы выйти за рамки привычного скриптинга, — вы по адресу.

Что такое OC-Wasm и зачем он нужен

OC-Wasm — это не самостоятельный мод, а архитектура процессора для OpenComputers. Он не добавляет новых блоков или предметов: вы используете те же стандартные компоненты, что и для Lua-компьютеров. Главное отличие — возможность выполнять скомпилированные .wasm-файлы прямо на виртуальном CPU. Это значит, что тяжёлые вычисления, асинхронные задачи и сложные алгоритмы можно реализовать на производительных языках, а не только на Lua.

WebAssembly-окружение в OC-Wasm изолировано и безопасно, как и полагается песочнице. При этом сохраняется полный доступ к компонентам OpenComputers: GPU, файловой системе, редстоуну, сетевым картам и даже машинам из Immersive Engineering, если установлены соответствующие обёртки. Для мододелов и просто увлечённых игроков это настоящий прорыв.

Как установить и начать работу

Прежде чем скачать OC-Wasm, убедитесь, что у вас уже стоит OpenComputers на Minecraft 1.12.2 или более новой версии (мод работает на Forge). Само дополнение распространяется в виде JAR-файла, который нужно поместить в папку mods. Никаких дополнительных загрузчиков не требуется — OC-Wasm подхватывается OpenComputers автоматически.

Если вы пользуетесь лаунчером foxygame.net, то установка OC-Wasm превращается в один клик — достаточно найти дополнение в каталоге и нажать «Установить». Лаунчер сам проверит совместимость версий и пропишет всё в нужную сборку, избавляя от ручного копирования файлов.

После установки пора собрать компьютер. Возьмите стандартный процессор (CPU) или APU из OpenComputers, держите его в руке и нажмите Shift+ПКМ. Появится меню выбора архитектуры — точно такое же, как при переключении между Lua 5.2 и 5.3. В списке вы увидите WebAssembly. Выберите его, и процессор начнёт исполнять wasm-код.

Каждому компьютеру нужен BIOS. Если ваша программа крошечная (≤4 КиБ), её можно записать прямо на EEPROM и использовать как BIOS. Но обычно код крупнее, поэтому понадобится загрузчик. OC-Wasm-BIOS — это специальная прошивка, которая при старте ищет файл /init.wasm на диске и запускает его. Готового крафта для такого BIOS нет, поэтому его нужно скачать на уже работающий Lua-компьютер и прошить на EEPROM. Проще всего выполнить команду:

wget https://gitlab.com/api/v4/projects/27476164/jobs/artifacts/main/raw/packed.wasm?job=Compile -O bios.wasm && flash bios.wasm OC-Wasm-BIOS

После этого BIOS готов. Теперь создайте своё приложение. Компилируйте .wasm-файл любыми привычными инструментами, назовите его init.wasm и поместите в корень жёсткого диска или дискеты. Сделать это можно несколькими способами: загрузить файл по сети через wget на промежуточный компьютер, а затем перенести диск в целевую машину; или напрямую скопировать файл в директорию сохранения Minecraft (тогда в конфиге OpenComputers стоит выставить bufferChanges: false). Когда всё готово, просто вставьте диск и включите компьютер — он загрузит вашу программу.

В лаунчере foxygame.net OC-Wasm всегда поддерживается в актуальной версии, а автообновление избавляет от ручной возни с файлами при выходе новых билдов. Это особенно удобно, если вы часто экспериментируете с разными языками и библиотеками.

Программирование на Rust и Zig

Одно из главных преимуществ OC-Wasm — богатая экосистема крейтов для Rust. Разработчики подготовили несколько библиотек, которые делают написание программ удобным и безопасным:

  • OC-Wasm-Sys — низкоуровневые FFI-привязки, фундамент для всех остальных крейтов.
  • OC-Wasm-Safe — безопасные обёртки над Sys, обеспечивающие корректную работу с памятью и дескрипторами, а также мьютексы для системных вызовов.
  • OC-Wasm-Futures — асинхронные футуры, позволяющие писать код с async/await.
  • OC-Wasm-Cassette — простой способ запустить асинхронную fn main через рантайм Cassette.
  • OC-Wasm-OpenComputers — высокоуровневые обёртки для стандартных компонентов: редстоун, файловая система, GPU и другие.
  • OC-Wasm-Immersive — обёртки для машин из Immersive Engineering и Immersive Technology.

На момент написания статьи OC-Wasm-OpenComputers ещё не завершён, а обёрток для других модов, взаимодействующих с OpenComputers через адаптер, мало. Но сообщество активно принимает пул-реквесты, так что вы можете внести свой вклад.

Для любителей Zig участница сообщества AmandaC начала разработку репозитория с библиотекой и примерами. Это открывает путь к системному программированию с минимальным рантаймом прямо в Minecraft.

Технические детали и совместимость

OC-Wasm работает на Minecraft 1.12.2 и выше, используя стандартный Forge. Существует также порт от DCNick3 для версии 1.7.10 — если вы играете на старой сборке, ищите его отдельно. Внутреннее устройство архитектуры подробно описано в OC-Wasm Javadoc: там можно узнать, как реализована песочница, обработка прерываний и взаимодействие с компонентами. Если вы пишете на языке, для которого ещё нет готовых библиотек, эта документация станет отправной точкой.

Важно помнить, что WebAssembly-компьютеры используют ту же систему компонентов, что и Lua-машины. Вы можете подключать мониторы, клавиатуры, дисководы, сетевые карты — всё работает прозрачно. Единственное отличие — формат исполняемого файла и способ загрузки.

Заключение

OC-Wasm стирает границы между виртуальным миром Minecraft и серьёзной разработкой. Вы больше не привязаны к Lua — берите Rust, Zig, C++ или любой язык, компилирующийся в WebAssembly, и создавайте продвинутые программы для своих компьютеров. Установка проста, а возможности огромны. Попробуйте скачать OC-Wasm уже сегодня и откройте для себя программирование в Minecraft с новой стороны.