Основы Mesecons

Mesecons - это мод про электронику для воксельного игрового движка minetest, предназначенный в первую очередь для использования с игрой minetest game и ее производными.

Геймплей этого мода в основном сосредоточен на создании конструкций, которые сочетают в себе блоки, взаимодействующие с игровым миром, провода, передающие сигналы между ними, и логические элементы, которые могут изменять сигналы.

Видео Ссылка на заголовок

Теория Ссылка на заголовок

Мезеконы добавляют узлы, или, другими словами, блоки, которые делятся на четыре основные категории:

  • Рецепторы подают сигналы
  • Эффекторы делают что-то, когда получают сигналы
  • Проводники передают сигналы, соединяя рецепторы и эффекторы.
  • А логические элементы выступают в роли и рецептора, и эффектора и формируют сигналы на основе полученных сигналов.

Проводники (кондукторы) Ссылка на заголовок

Проводники - это блоки, которые передают сигналы ненаправленно.

  • Провода - четыре стороны по горизонтали, могут идти на один блок вверх или вниз

  • Вертикальные провода - вертикально, нижняя и верхняя части становятся платформой, которая передает сигналы на четыре стороны по горизонтали

  • Блоки Mese - во все шесть сторон

  • Изолированные провода (+пересечение и углы) - две стороны в зависимости от поворота (пересечение действует как два отдельных изолированных провода в одном блоке)

Рецепторы Ссылка на заголовок

Рецепторы выдают сигнал в зависимости от своего состояния.

  • Power Plant - всегда

  • Blinky Plant - переключается каждые три секунды

  • Выключатель и рычаг - переключаются правым кликом

  • Кнопка - нажимается правой кнопкой мыши, но через пару секунд перестаёт давать сигнал

  • Солнечная панель - детектор света

  • Водяная турбина - детектор текущей воды

  • Детектор узлов (блоков)

Эффекторы Ссылка на заголовок

Рецепторы выполняют действия при получении сигнала.

  • Лампа, световые камни - светятся

  • Нотный блок - издает звук в зависимости от того, какой блок находится под ним

  • Поршень - выдвигается и толкает один блок

  • Липкий поршень - может также втягивать блок

  • Movestone - двигается, направление зависит от того, с какой стороны поступает сигнал

  • Sticky Movestone - может также забирать с собой блоки с липких сторон (ВСЕ блоки, подключенные с липких сторон, а не только один)

  • Командный блок - выполняет серверную команду, основанную на полномочиях того, кто его поставил

  • Дверь - открывается

Логика Ссылка на заголовок

Логические элементы являются одновременно и рецепторами, и эффекторами, причем условием их работы в качестве рецепторов является получение сигнала в качестве эффекторов. По сути, они изменяют сигналы.

  • AND Gate - выходят только в том случае, если получают 2 сигнала

  • OR Gate - выходит, если получает хотя бы 1 сигнал

  • NOT Gate - выход только при отсутствии сигнала

  • NAND Gate - не имеет выхода, если получает 2 сигнала

  • NOR Gate - не имеет выхода, если получает хотя бы 1 сигнал

  • XOR Gate - выдает сигнал, если получает только 1 сигнал из 2.

  • Lua Controller - интерпретатор языка программирования lua, четыре стороны могут выступать в качестве входов или выходов

  • FPGA - позволяет разместить внутри до 14 логических примитивов, четыре стороны могут выступать в качестве входов или выходов

  • Диод - позволяет передавать сигнал только в одном направлении

Практика Ссылка на заголовок

Затем давайте сделаем простую дверь 3 на 3, используя Movestone блоки.

  1. Сначала положите блоки 3 на 3 по выбору. Это будет видимая часть двери.

SVG-графика из 3 на 3 пустых блоков

  1. Затем выкопайте под дверью яму 3 на 7 (7 - это глубина), а также несколько блоков, чтобы передвигать их здесь

  2. Установите вертикальные липкие Movestone 3 на 3 прямо под дверными блоками.

SVG-графика пустых блоков 3 на 3 с 3 на 3 движущихся камней под ними

  1. Затем проверьте, какая из их широких сторон будет двигать механизм вниз, и поместите 3 мезоблока (или другие проводники) на эту сторону 3 нижних моветонов

  2. На противоположной стороне поместите 3 проводника на один блок глубже (изображение неверно и показывает открытое положение двери)

SVG-графика блочной двери 3 на 3 с 3 на 3 движущихся камней  внизу, соединенных с двумя линиями блоков 3 на 1 с текстом MESE на них

  1. Добавьте NOT Gate перед стороной, которая движется вверх

  2. Подключите NOT gate и противоположную сторону непосредственно к выключателю или другому рецептору по выбору

  3. Заполните дополнительные отверстия (не сам 3 на 7), добавьте стены и потолок. Потолок должен иметь зазор в один блок над самой дверью, иначе он будет перемещаться с помощью движущихся камней.

Вы можете улучшить конструкцию, например, сделать так, чтобы поршни или камни-призраки скрывали этот зазор, но в целом это работает довольно хорошо и быстро. Кроме того, этот механизм можно масштабировать до бесконечности, но с тем недостатком, что ему нужно как минимум в три раза больше места, чем видимой части двери, не считая линий из mese блоков, и границ.