Тема: CONS 0.0.1 + Cactus Power 0.0.1
Встречайте наш ответ рэдстоуну
CONS — движок для создания схемотехники, Cactus Power — базирующийся на нём мод (пока ничего интересного в нём нет, только демонстрация возможностей)
API движка CONS 0.0.1 предоставляет:
cons:register_source(nodename, rulefunc) — регистрация источника сигнала, где rulefunc это функция function(node), возвращающая правило активации проводников. В функцию передаётся нода и в зависимости от её параметров можно активировать проводники по-разному (например: как рэдстоун-факел).
cons:register_wire(active_name, inactive_name, rulefunc) — регистрация проводника, необходимо указать имя ноды в активном и не активном состоянии, а так же передать функцию, возвращающую правило распространения сигнала по проводу.
cons:register_receiver(nodename) — регистрация приёмника. Приёмники активируются по правилам распространения сигнала провода или источника.
cons:register_on_signal_on(action) — регистрация действия при активации приёмника, action это function(pos, node). В функцию передаётся позиция приёмника и его нода.
cons:register_on_signal_off(action) — регистрация действия при деактивации приёмника.
Проводники и приёмники активируются/деактивируются автоматически при установке или разрушении. Но если вы в коде своего мода добавляете, удаляете или перемещаете ноду активированного проводника, источника сигнала или приёмника, то воспользуйтесь следующими функциями:
cons:disconnect(pos, wirename_on) — при удалении активного проводника (wirename_on) с позиции pos, например поршнем.
cons:source_on(node, pos) и cons:source_off(node, pos) — при добавлении или удалении источника сигнала.
cons:check_receiver(pos) — при добавлении приёмника сигнала.
Cactus Power 0.0.1
Сейчас мод годится только для демонстрации возможностей. Попробуйте добавить с помощью /giveme его предметы и проверить работу движка:
node cpwr:lcube_active — источник сигнала, активирует проводники сверху и снизу от себя.
node cpwr:powersand_inactive и cpwr:powermud_inactive — два типа проводников, сигнал распространяется с грани на грань.
node cpwr:glow_inactive — примитивная лампа, приёмник сигнала.
Крафта пока нет, потом всё будет На картинке можно увидеть, что источник активирует и проводники и приёмники непосредственно над собой (такое правило), провода изолированны друг от друга (с синего на оранжевый сигнал не проходит и наоборот).
Вообще, в движок заложены большие возможности, надеюсь из этого получится что-нибудь хорошее. Скоро сделаю демонстрационное видео.
CONS: http://ompldr.org/vYzVwOQ
Cactus Power: http://ompldr.org/vYzVwYg
Если общественность одобряе, можно запилить репозиторий и оптимизировать код движка.