Обновление блока при изменении другого

Версия Minecraft
1.12.2
3,005
192
592
Есть свой блок с тайлом.
Нужно обновить переменную в тайле когда изменяется инвентарь 1 из 6 блоков вокруг тайла.
Как такое можно сделать?

~~

Тип есть свой блок в мире.
Во круг него в 6 сторон света могут стоять другие блоки.
У них может быть инвентарь, а может и не быть.

Нужно, когда инвентарь другого блока возле моего блока обновился - изменить переменную в моем тайле (к пример просто изменить boolean на false).

~~

Без использования хуков.
Блоки могут быть ЛЮБЫЕ из ЛЮБЫХ модов.
 
3,005
192
592
@ZZZubec Прикол в том, что модов 100500, а под каждый мод делать поддержку, это "мега" умно.
 
52
1
6
neighborChanged?

т.е. например при установке записываем хеш 6-ти соседних блоков, при их изменении просто сравниваем суммы (как уже предложили выше), и добавляем переменную, не?

----
только нужно что-то придумать на случай, если блок сломают и поставят вместо него другой...
 
Последнее редактирование:
52
1
6
Его-то и нужно отловить, а никто не знает как 🌚
1573918584215.png, или к тайлам это не относится? или это работает не так? перевод то вроде "при изменении соседа", по логике, должно работать.
впрочем, я попробую проверить это сам
 
7,099
324
1,510
Этот метод вызывается когда изменяется BlockState прилегающего блока
Если в тайле переменная изменится, то этот метод не будет вызван
 
7,099
324
1,510
Крч сделай окружающие сундуки кастомные, которые умеют отправлять нотификации центральному блоку. Это исчерпает проблему по идее
 
1,038
57
229
только ради тебя.. разберусь с трансформерами
 
3,005
192
592
1,038
57
229
И её посмотрю

Есть ещё способ, заменять все сундуки на свой блок, я так с деревьями делал. В Blocks там же список, можно сделать подмену
 
3,005
192
592
1,038
57
229
Все сундуки, наследуются от одного единственного класса (интерфейса), поэтому, если твой блок будет тоже от него унаследован, они точно также будут работать и с ним. Типо прокладка между сундуком и сундуком мода.
Там можно будет запилить свой инвентарь унаследованный от стандартного и переопределить методы так, чтобы ты всегда знал о новых предметах
 
3,005
192
592
В моем моде сундуков не будет.
В чужих модах - есть моды и без сундуков, но с инвентарями.

К примеру, игрок захотел поставить drawer, у него есть инвентарь.
А наследуется он только от Block.
При чем тут сундук?
 
1,038
57
229
Ой, да ладно. Основная проблема решена. А эти вопросы уже из разряда, как сделать лодку если у тебя есть только гвоздь.
Ясен пень, тебе придется сделать молоток и найти доски для начала. Но плавать тебе никто не запрещал.
Под оставшиеся моды, тебе придется писать на их Api, а где то и писать Трансформеры.
 
7,099
324
1,510
Скорее это вопросы из разряда "как сделать лодку, которая сможет плавать везде". А это уже хорошее стремление
 
1,038
57
229
Вот лично моё скромное мнение. Когда решение готово и набрало популярность, сделать его лучше когда есть на это время - это прекрасно, но рассуждать три года о том как лучше и так ничего и не сделать это уже удел фантазёров. Через три года и фордж изменится и решение уже никому не нужно будет.
А у тебя наверняка какая то хорошая идея для мода в голове, только прочтёшь сразу поиграть захочется. И какая разница как оно реализовано, если это интересно. Пример из жизни: ss13
 
Сверху