Синхронизация TileEntity

Версия Minecraft
1.12.2
API
Forge
8
1
0
Делаю аддон для WAWLA, который будет отображать информацию об энергии блока. Проблема в том, что состояние TileEntity хранится на сервере и мне надо как то его оттуда запросить (при условии что мод ставится только на клиенте)
 
Решение
Короче, покопавшись во внутренностях IC2, выяснил что вся синхронизация клиента происходит только со стороны сервера. Каждый открытый контейнер добавляет себя в список обновления, а в конце тика мира IC2 проходит по всем добавленным TileEntity и передает данные игрокам в определенном радиусе вокруг него.

Вывод: Без установки мода на сервер, синхронизировать энергию IC2 не выйдет
8
1
0
Возможно, энергия всё таки передаётся на клиент
Единственное что я заметил, что при открытии GUI блока значение энергии обновляется. Но не думаю что с этим можно будет что-то сделать. Хотя, может я смогу узнать класс пакета который он передает в этот момент и потом сам слать его? Попробую покопать в эту сторону
 
7,102
324
1,510
Можно сделать клиент-серверный универсальный мод,который отправляет на клиент нбт блока на который смотрит игрок, каждый тик, если нбт изменилось.
Кстати, это звучит как фича, которая должна быть в WAWLA
 
7,102
324
1,510
Совершенно верно. При обсуждении некоторых систем на основе OpenComputers часто поднимается этот вопрос.

Такая штука как waila - мастхэвная, наравне с jei и подобными. Поэтому, она может предоставить интерфейс, который нужно имплементить модам, чтобы управлять сихнронизируемыми данными своих тайлов.

Предложи свое решение)
 
7,102
324
1,510
7,102
324
1,510
Ну вот пусть аплайд имплементирует интерфейс и определяет, че нужно синхронить с клиентом
 
7,102
324
1,510
А если делает, то не будет проблем с синхронизацией кучи ненужных данных
 
1,203
38
238
В целом как и не делать синхронизацию кучи ненужных данных.

Без этого единственная проблема будет отсутствие реализации подсказки в моде, а с всеобщей синхронизацией эти самые моды без реализации потенциально будут слать жирные пакеты.
 
8
1
0
Короче, покопавшись во внутренностях IC2, выяснил что вся синхронизация клиента происходит только со стороны сервера. Каждый открытый контейнер добавляет себя в список обновления, а в конце тика мира IC2 проходит по всем добавленным TileEntity и передает данные игрокам в определенном радиусе вокруг него.

Вывод: Без установки мода на сервер, синхронизировать энергию IC2 не выйдет
 
Сверху