Привязка фантомного блока к основному

Статус
В этой теме нельзя размещать новые ответы.
Версия Minecraft
1.12.2
37
6
У меня есть печка 5x5x4, я сделал фантомные блоки которые ставятся вместе с ней, и обводку которая обводит всю печку целиком. Но проблема в том что эта обводка срабатывает лишь при наводке на основной блок печки, и мне нужно что бы при наводке на 1 из фантомных блоков срабатывала обводка основного блока. Как проверить смотрит ли игрок на фантомный блок и если смотрит включить обводку основного блока? просто я знаю что надо делать tileentity но кроме гайда как сделать печку рабочей на 1.12.2 я ничего не нашел касающегося tilentity.
 
Решение
Итак! Делаешь блокстейты, соответствующие положению твоих фантомных блоков в структуре печки.
Через getActualState() назначаешь блоку нужный стейт или сразу ставишь нужный в мир.
В зависимости от стейта меняешь обводку как хочешь.
Tip: Лучше сразу заготовить и сохранить нужные AABB и юзать их...
1,038
57
229
А почему не убрать ванильную обводку и не сделать свою через OpenGL?
B8rqW5DCYAAUjZW.png


 
1,038
57
229
1,038
57
229
1,038
57
229
Тогда опиши чем она тебе не подходит
в соседней теме есть метод получения того куда смотрит игрок Получение entity, на которое смотрит игрок
от туда же можно получить смотрит ли он на блок или на Entity
далее делаем обводку через свою рисовку.

Делай по шагам, постепенно. По мере того как сделаешь одно, будешь задавать следующие вопросы:
1) получаем куда смотрит игрок
2) проверяем блок это или Entity
3) получаем координаты того что надо обвести относительно позиции игрока
4) выводим обводку или прячем её

либо ставим свой рендер на свои блоки и во время их отрисовки проверяем смотрит ли игрок на каучуковую печку 3x3 (или любого другого размера)
 
  • Like
Реакции: stil
4,047
63
645
Итак! Делаешь блокстейты, соответствующие положению твоих фантомных блоков в структуре печки.
Через getActualState() назначаешь блоку нужный стейт или сразу ставишь нужный в мир.
В зависимости от стейта меняешь обводку как хочешь.
Tip: Лучше сразу заготовить и сохранить нужные AABB и юзать их...
 
  • Like
Реакции: stil
126
6
33
Насколько я помню в Draconic Evolution есть мультиблочное хранилище энергии, и при наведении на любой блок этого хранилища возвращался центральный блок, так что можно глянуть как там реализовано
 
  • Like
Реакции: stil
4,047
63
645
Ну, если хочешь, пропиши их кодом... Особой разницы не заметишь...
Просто выясняй где находится твой блок относительно центрального и подставляй нужные цифры...
 

tox1cozZ

aka Agravaine
8,456
598
2,893
Я храню во всех дочерних тайлах координаты главного. Потом можно в любом месте достать из любого блока структуры главный тайл и относительно него уже что-то делать.
 

tox1cozZ

aka Agravaine
8,456
598
2,893
Мне кажется лучше хранить в главном тайле список координат всех дочерних, а в дочерних - одни координаты на главный.
Игрок ломает дочерний, из него достается главный, из главного достается список всех дочерних и разрушаем.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху