Perimeter

Perimeter beta-0.8

Нет прав для скачивания
Версия(и) Minecraft
1.20.1
Perimeter - Мод для Minecraft Forge 1.20.1
Всем привет! Разбавлю помирающий форум своим модиком. Короче давно у меня сидела идея создать мод на всякие заборы, датчики и прочие системы охраны.
Давайте пройдемся по порядку, я вам тут все покажу. Запаситесь чайком, писанины будет много, как в старые добрые времена этого форума!
Ссылки на скачивание:

Curseforge

Modrinth

ЯндексДиск

Perimeter обложка.png


Во-первых, для успешной работы всех задуманных мною механик надо было сделать сигналы редстоуна более доступными. Сначала я думал о реализации проводов по граням блоков наподобие Redstone Wires. Но потом оказалось, что сделать два коннектора и нарисовать между ними линию (а впоследствии кубоид) было не в пример проще. Создание этой системы заняло большую часть разработки мода, я бы сказал. Дня четыре на фулл-тайм я точно на них потратил. Но зато сделал.

Вообще изначально задумывалась модная на новых версиях стилистка в духе оригинального майна, но по ходу дела у меня все равно получилась какая то бледно-индустриальная гамма цветов. Ну да и пофиг).
2025-05-16_17.27.19.png

А под них конечно же надо было сделать столбы - куда ж без них.
Итак, теперь Редстоуновые провода при соединении это единая система. Причем система нелинейная - к одному коннектору можно прицеплять до 3 проводов, что значительно увеличивает возможности. Система реализована на локальном уровне: каждый блок в своем BlockEntity знает и опрашивает все блоки системы. Это децентрализованная система устойчива к багам - если где то что то случится, другие блоки тут же все равно передадут правильную информацию, но наверное, не очень производительна в сравнении с централизованной системой. Оптимизация была сделана максимально возможная в данном случае: при любом удобном случае система прекращает обновляться и тикает впустую, ничего особо не нагружая. Редстоунификация довольной крупной деревни с использованием более 40 блоков в одной системе не давали просадок тпс\фпс.
Конечно многие блоки в моде реализую IBlockPostConnection, который позволяет им коннектится к красивейшим индустриальным столбикам!
58dMQ30_QNY.jpg

Эти редстоун-провода намеренно игнорируют блоки для полной свободы игры. Их можно прокладывать как угодно в радиусе 20 блоков от коннектора на который был совершен ТЫК.
К столбам кстати прилагаются красивые светильнички на редстоуне, которые ставятся на любую сторону блока.
2025-05-16_17.27.47.png


Ну а дальше я приступил к реализации своих блоков. Первым было решено сделать самый распространенный - инфракрасный пассивный датчик присутствия или в народе - объемник. Если кратко, принцип работы блока максимально приближен к реальному прототипу. Реальный датчик работает так: настраивается порог срабатывания: регистрируется изменение фонового инфракрасного излучения. Поскольку любое живое существо, которому будет надо проникнуть в охраняемое датчиком помещение, скорее всего будет теплокровным, то датчик незамедлительно зарегистрирует резко возросшее инфракрасное излучение и издаст сигнал тревоги. В моем случае механика работы под капотом выглядит так: создается фантомный AABB настраиваемого радиуса (от 1 до 8 блоков через ГУИшку), который тикая, регистрирует наличие Entity в зоне. Обнаруживая энтити, блок от себя до энтити рисует вектор, и если вектор не упирается в твердые блоки, то происходит сработка.
2025-05-17_15.30.51.png

Вот он, слева.
Справа от него находится датчик с похожим функционалом, но реагирующий не на физически присутствие Энтити, а на издаваемые в заданной области (пока фиксированная - 4 блока) звуки. Это Звуковой датчик. Причем, в отличие от инфракрасного объемника, данный датчик работает в абсолютном объеме - стены не преграда (игровая условность для разнообразия). Есть несколько режимов работы: Все звуки, Блоки, Злые мобы, Нейтральные мобы, Игроки и Погода (не знаю зачем, я так и не понял какие звуки у погоды - на дождь он не срабатывает). Отслеживать текущий режим можно либо по боковому индикатору, либо при ПКМ переключении - на action bar будет отображаться сообщение о текущем режиме работы.
2025-05-17_15.23.22.png


Еще есть блоки активной инфракрасной сигнальной системы: линейные инфракрасные излучатели, известные как СПЭКи (можете загуглить принцип работы). Здесь точно такой же: рисуется кубоид от центра до центра и при пересечении этого кубоида баундбоксом энтити блок трансмиттера начинает излучать сигнал редстоуна. Лазеры можно делать в любых направлениях - под углом, по диагонали, в пространстве и так далее. Полная свобода действий, но соединять можно только два блока - это важно.
2025-05-17_15.22.35.png

Далее, чтобы немного разбавить свою рутину и отдохнуть от суточного пиления этих блоков, я занялся рисованием различных предметов для крафта и созданием простых блоков. Кстати, рисовать я не умею и ставил задачи по рисованию итемов ChatGPT. Мне оставалось только перерисовать на 16х поле созданные ею образы.
2025-05-17_22.30.43.png


Вообще все итемы на этом скрине - исходно сгенерированы нейросетью. Они используются для стандартных крафтов и одном небольшом интерактивном крафте in world, о котором расскажу ближе к концу.
А так: можете скрафтить достаточно дорогие, но крайне крепкие (примерно в 3\4 от обсидина) железобетонные блоки: решетку, дверь, блок (два варианта), стена и колонна.

2025-05-17_15.22.17.png

2025-05-17_15.23.58.png

2025-05-17_15.22.24.jpg

Типикал дача выживальщика
Наверху кстати, можете заметить колючую проволоку. Ничего особенного она не делает, просто выполняет свои функции: замедляет игрока и наносит ему урон. Так что не залезайте!)

Ну что, перевели дух от офигенности? Продолжаем!
Следующими шагами стали создание нескольких видов сигнализационных и охранных сетей и заборов. Для удобства работы логики система была унифицирована и разделена на две части: входную и выходную. Она работает на WorldSavedData и вообще по красоте все сделано: сама система это один тип блока, а сигнализационный - отдельный блок. Таким образом сеть блоков тикает внутри своих BlockEntity, пересекаясь с реальным миром только через блок Контроллера, который и выдает сигнал в зависимости о сигнала в системе.

Первым на очереди был вибрационный кабель и его контроллер.
Вращается по осям (и его область детекции тоже) и соединяется с другими таким же блоками, а также имеет возможность быть замаскированным под обычный блок.
2025-05-17_15.22.11.png

На скриншоте выше вы можете видеть примерное мое видение реализации данного кабеля. Кстати, его можно закопать и на один блок глубже: область детекции специально сделана 3.5 блока. Тут как ваша душа пожелает. Рендер был полностью скопирован с оригинального блока со всеми тенями, цветами биомов и так далее. Так что внешне фальшивый маск-блок отличить от обыкновенного невозможно.
Кстати в качестве бонуса добавил еще Технолампу - можете наблюдать ее над блоком контроллера. В целом это обычная лампа, разве что она светится тем уровнем света, которым запитана (т.е если сигнал редстоуна 5 - то уровень света тоже будет 5).

Вторым видом заборов стал сигнальный забор. Здесь механика аналогична вибрационному кабелю, но он улавливает сущности на один блок перед своей лицевой стороной. Ну и чтобы добавить побольше различий - этот забор отталкивает энтити от себя и активируется. Так что подойти к нему с лицевой стороны не представляется возможным. Он кстати интерполирует скорость и если на него налететь в режиме быстрого бега, есть шанс что вектор отражения рассчитается так что вас подкинет куда нить высоко :)

2025-05-17_15.21.24.png

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

Третьим и заключительным типом забора является забор под напряжением. Единственное его фактическое отличие заключается в том, что контроллер ему не нужен, ведь он сам является потребителем редстоун-сигнала. При запитывании любого блока системы она активируется и в радиусе 0.5 вокруг каждого блока системы будет коллизия, которая наносит очень большой урон сущностям (игрок умирает с двух ударов). Обращаю внимание, что запитать ее можно исключительно от блока-источника редстоуна. Учитывая что коннекторы редстоун-сети в моем моде являются таковыми, можно строить вот такие вот красивенькие системы. Кстати, этот же забор коннектится к столбам, т.к своих угловых states у него пока нет.
2025-05-17_15.20.34.png

Ну и далее из приятных мелочей: есть крайне взрывоустойчивый железобетонный сундук блок с контейнером, который равен двойному сундуку, практически неуничтожаем взрывами и очень долго ломается. А еще чтобы в него заглянуть, его сначала надо открыть Shift+ПКМ и только потом уже открыть контейнер (теперь это называется Menu) как обычно.
2025-05-17_13.46.05.png


Кроме того, еще есть очень мощный прожектор, уже засветившийся на форуме ранее. Обязательно зацените красивый желтенький ореол от света, на него было потрачено времени примерно как на провода :)
2025-05-17_15.33.09.jpg

2025-05-18_00.05.18.png


Ну и напоследок - обещанный интерактивный крафт. Для того чтобы скрафтить микросхемы, которые используются почти во всех блоках - их три, нужно собрать компоненты в кейсе микросхемы в правильной последовательности. Подсказку по этому крафту можно увидеть как по зажатию Shift в инвентаре, так и и нажав Ctrl и наведя на блок. Если компоненты будут собраны в неправильной последовательности, вы потеряете их вместе с кейсом, так что будьте аккуратны! (тож игровая условность).
2025-05-18_00.08.31.png
2025-05-18_00.09.42.png


На этом я наверное закончу обзор своего мода.

Исходники можно поглядеть на моем Гитхабе: GitHub - MaxLegend/Perimeter: Minecraft Mod for 1.20.1
Открыт к баг-репортам и конструктивной критике.

Всем хорошего времени суток!
Автор
Maxik
Скачивания
3
Просмотры
2,435
Первый выпуск
Обновление
Оценка
5.00 звёзд 4 оценок

Другие ресурсы пользователя Maxik

Последние рецензии

Хорошая работа ;)
Давненько никто не выкладывал таких толковых модов на форум. Всё хорошо продумано с упором в реализм. Нисколько не пожалел по поводу прочитанной стены текста – интересно было понять, как идеи пришли в голову, сколько времени заняла разработка.
Эх. Эти бы вещи, да в нужное русло )))

"Эти редстоун-провода намеренно игнорируют блоки для полной свободы игры" )))
Ну да, ну да. Скорее, делать коллизию с блоками было слишком сложно ;)
Maxik
Maxik
я думаю не сложней чем сделать коллизию с сущностями, как в линейном датчике. Просто действительно - провода же закладывают в стены. Зачем усложнять то, что можно не усложнять?
Потрясающая работа! Отлично написано, вкусно выглядит, мелочи продуманы 🔥🔥🔥 Будет угарно попробовать законнектить его с ComputerCraft'ом
Назад
Сверху