PowerStones
Пересекающиеся провода Redstone, Bluestone, Greenstone и Yellowstone
- Загрузчики
- FabricNeoForgeForge
- Скачиваний на Modrinth
- 4 тыс.
- Подписчиков на Modrinth
- 20
- версий
- 59
- Обновлён
- 31 июля 202631 июл.
- Опубликован
- в 2023
Коротко о моде
Нужен и в игре, и на сервере
PowerStones
Мод для Minecraft с пересекающимися проводами из Redstone, Bluestone, Greenstone и Yellowstone

Copyright (c) 2023-2026 CalvinMT
Зависимости
Моды, которые нужно установить для корректной работы PowerStones:
Fabric
| Мод | Причина |
|---|---|
| [Fabric API] | Необходим для работы модов на Fabric. |
| [FerriteCore] | Позволяет Minecraft запускаться с обычным объёмом ОЗУ вместо 12 ГБ, для которых нужно добавлять аргумент (-Xmx12G). |
Forge
| Мод | Причина |
|---|---|
| [FerriteCore] | Позволяет Minecraft запускаться с обычным объёмом ОЗУ вместо 12 ГБ, для которых нужно добавлять аргумент (-Xmx12G). |
Совместимость
PowerStones совместим с другими модами на редстоун, такими как Red Bits или Redstone Bits.
Цель — сделать PowerStones совместимым с как можно большим числом других модов, но на это потребуется время.
Если есть мод, который вам нравится, но он кажется несовместимым с PowerStones, создайте новый issue на GitHub с тегом "Mod compatibility request".
Возможности
Функционал
- Доступны четыре независимых цвета проводов: Redstone, Bluestone, Greenstone и Yellowstone, каждый передаёт свой отдельный сигнал питания.
- Провода Powerstone могут пересекаться парами, позволяя двум независимым цветам проводов занимать один и тот же блок без взаимных помех.
- Каждый цвет провода подключается и получает питание только от проводов, блоков, факелов, повторителей, компараторов и других редстоун-компонентов того же цвета.
- Redstone Repeaters могут передавать питание с одного цвета провода на другой, позволяя управляемо связывать между собой иначе независимые цепи.
- Разрушение провода с зажатым предметом-пылью powerstone в руке удаляет только каналы провода, совпадающие по цвету с зажатым предметом, что позволяет легко редактировать пересекающиеся провода, не затрагивая другой канал.
Блоки и предметы
| Название | Изображение | Рецепты крафта |
|---|---|---|
| Redstone | ![]() | ![]() |
| Bluestone | ![]() | ![]() |
| Greenstone | ![]() | ![]() |
| Yellowstone | ![]() | ![]() |
| Bluestone Block | ![]() | ![]() |
| Greenstone Block | ![]() | ![]() |
| Yellowstone Block | ![]() | ![]() |
| Bluestone Torch | ![]() | ![]() |
| Greenstone Torch | ![]() | ![]() |
| Yellowstone Torch | ![]() | ![]() |
Процесс реализации и ограничения
Изначальная идея заключалась в том, чтобы разместить все четыре провода powerstone на одном блоке. Это означало, что блок провода redstone имел бы более 5 308 416 состояний (3x3x3x3x16x16x16x16) по сравнению с его версией без мода в 1 296 состояний (3x3x3x3x16). Поскольку все состояния всех блоков игры вычисляются при запуске, это потребовало бы больше времени на вычисления и памяти, чем может обработать компьютер.
Чтобы сохранить изначальную идею, были предприняты усилия по ограничению силы powerstone двумя состояниями (0-1) вместо шестнадцати (0-15). Это снизило количество состояний для блока провода redstone до его версии без мода в 1 296 состояний (3x3x3x3x2x2x2x2). Однако это количество состояний не было бы окончательным, так как было бы добавлено больше для отображения всех возможных соединений. В конечном итоге реализация оказалась слишком сложной и неразумной для продолжения, так как требовала переработки обновлений силы блока провода redstone и удаляла все ванильные функции redstone, связанные с уровнями силы redstone.
Идея перекрывающихся powerstone всё ещё рассматривалась как цель, была предпринята попытка сначала добавить bluestone поверх redstone, которая увенчалась успехом благодаря добавлению ещё одного свойства силы и увеличению обоих свойств силы на единицу. Таким образом, количество состояний для блока провода redstone составило 23 409 (3x3x3x3x17x17), что добавило всего пару секунд к времени загрузки.
Расширение мода с помощью проводов greenstone и yellowstone не могло быть достигнуто путём добавления ещё двух свойств силы по той же причине, что указана в изначальной идее (слишком много состояний). Тогда был сделан выбор в пользу перекрытия проводов парами. Провода redstone могли бы перекрываться с проводами bluestone, а провода greenstone — с проводами yellowstone. Это было легко достижимо путём добавления одного свойства с двумя состояниями (одно состояние на пару powerstone), что в итоге дало количество состояний для блока провода redstone в 46 818 (3x3x3x3x17x17x2). Добавление этого базового свойства замедлило запуск игры (~1м30с). Однако, что более важно, количество памяти (RAM), необходимой для загрузки игрой каждого состояния, приблизилось к 12GB. Даже если просьба к пользователям добавить простой Java-аргумент в лаунчер Minecraft для расширения максимального объёма выделяемой игре памяти делается для других модов, 12GB памяти — это огромная величина по сравнению с небольшим дополнением, которое этот мод привнёс бы в игру.
Поскольку свойство пары powerstone казалось хорошей точкой остановки, чтобы приблизить проект к изначальной цели настолько, насколько это было возможно после шести недель обучения и разработки, было принято решение найти мод, который мог бы значительно снизить объём памяти, выделяемой для запуска игры с PowerStones. После быстрого поиска [FerriteCore] показался подходящим и, вопреки всем ожиданиям, сделал возможным запуск игры с PowerStones без изменения максимального объёма выделяемой памяти (<4GB). Хотя PowerStones стал зависимым от мода производительности, пользователи могут извлечь из него пользу, не беспокоясь о потреблении памяти.
PowerStones изначально разрабатывался для использования с Fabric и в значительной степени полагался на mixins. После достаточно успешного старта мода и желания сделать его пригодным для использования с Forge, помощь была запрошена в Discord Forge. Однако вопросы, связанные с mixin, вызвали лишь критику в адрес зависимости PowerStones от [O-So-Cursed-Mixin]. Хотя предложения были полезны по своей глубине, их высокомерная форма и предположения могли бы быть оставлены в стороне. Несмотря на этот неприятный опыт с частью сообщества Forge, время и рациональные рассуждения показали, что использование API каждого загрузчика модов и отдельных классов powerstone вместо чрезмерной опоры на mixins было бы лучшим решением — не только для того, чтобы сделать его доступным через Forge, но также для минимизации багов и максимизации совместимости с модами. Тогда была проведена переработка мода для применения этих необходимых изменений.
Из-за большого количества состояний, введённых реализацией, зависимость от FerriteCore стала необходимым компромиссом, а не опциональной оптимизацией. Однако это также подчеркнуло необходимость более устойчивого архитектурного подхода. Логичным следующим шагом для PowerStones поэтому стал рефакторинг системы MultipleWires в реализацию на основе BlockEntity — подход, который несколько пользователей уже определили как необходимый для снижения сложности состояний при одновременном улучшении общей производительности и расширяемости. В этом контексте участник сообщества [AtronixMH48] предложил ценную помощь, предоставив модифицированную версию мода с решением на основе BlockEntity. Этот вклад был тщательно изучен для полного понимания его механики и частично доработан перед интеграцией в проект, что в конечном итоге устранило зависимость PowerStones от FerriteCore.
После рефакторинга на BlockEntity отрисовка блоков с несколькими проводами оставалась ограниченной ванильной моделью блока, которая не могла корректно отобразить два провода с разными схемами соединений на одном блоке. Поэтому была введена кастомная запечённая модель для независимой отрисовки обоих каналов проводов, используя данные о соединениях, хранящиеся в MultipleWiresBlockEntity. Это серьёзное изменение позволило каждому проводу сохранять свои собственные прямые участки, углы, соединения и вертикальные подключения, не влияя на внешний вид другого. С этой основой для отрисовки реализация нескольких проводов была затем обобщена за пределы исходных пар redstone-bluestone и greenstone-yellowstone для поддержки всех шести возможных парных комбинаций между redstone, bluestone, greenstone и yellowstone. Хотя PowerStones по-прежнему ограничивает перекрывающиеся провода двумя цветами на блок, любые два из четырёх доступных цветов теперь могут делить одно пространство, сохраняя независимость своих уровней энергии и соединений.
Выбор цветов
Цвета синий, зелёный и жёлтый были выбраны примерно в 2012 году, когда этот проект только зародился. Одной из целей было лучшее применение плохо используемых и почти бесполезных, но abundant ресурсов, таких как лазурит, изумруд и светопыль.
Каждый новый цвет пауэрстона получается из комбинации цвета redstone и цвета ресурса, используемого в рецепте пауэрстона. Сначала текстура пауэрстона окрашивалась в цвет ресурса. Затем текстура redstone накладывалась сверху, после чего к слою redstone применялся фильтр смешивания color dodge с прозрачностью ~30% (75/255).

Вклад
Пожалуйста, обсудите существенные функции перед их реализацией.
Непрошеные pull request'ы с функциями могут быть отклонены, даже если они технически корректны.
Исправления багов, небольшие исправления совместимости и хорошо ограниченные улучшения, как правило, с большей вероятностью будут приняты.
Участники
- [CalvinMT] (Автор)
- [AtronixMH48] (Рефакторинг
MultipleWiresBlockв Block Entity)
Лицензия
PowerStones распространяется под лицензией Mozilla Public License Version 2.0.
Если вы повторно используете или изменяете этот проект, вы должны сохранить необходимые уведомления об авторских правах и лицензии в соответствии с Mozilla Public License 2.0.
Если вы создаёте проект на основе PowerStones, видимое упоминание PowerStones и ссылка на оригинальный репозиторий будут очень признательны.
Частые вопросы
Как установить PowerStones?
Установите Fabric под свою версию Minecraft, скачайте PowerStones под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть PowerStones?
У PowerStones есть сборки для Minecraft 1.18–1.19.4, 1.20.1, 1.21.1, 1.21.11.
Нужен ли PowerStones на сервере?
Нужен и в игре, и на сервере



















