Масса вариаций переменных и огромное количество предметов с этими вариациями

Версия Minecraft
1.7.10

deleted.user

Мошенник
321
43
Всем привет. Суть вопроса такова - есть допустим предмет, например палка. На эту палку мы можем повесить всякие безделушки, типо брелков, черепочков и прочего (да, привет первобытным человекам и древней магии). Идея в том, что все это должно влиять на конечные статы предмета по определенным вычислениям, а статы напрямую зависят от того, как эти безделушки расположены на этой палке.

Представим вертикальную корягу, которую будем обвешивать безделушками. Например мы можем повесить на конец палки черепушку или кокос (ну например же). И эти вот уже модели черепушки или кокоса мы можем подвинуть по оси Y, в последствии от чего и будут меняться статы.

Сама суть вопроса - куда лучше записывать все конечные и промежуточные данные (под промежуточными подразумевается положение черепушки\кокоса по ограниченным положениям по оси Y), а конечные - уже посчитанные статы для предмета? Кто что может сказать на этот счет?

---upd
Забыл добавить или не забыл - не будет ли серверу\клиенту плохо от обилия таких разных УНИКАЛЬНЫХ предметов?
 
Делаем переменные со статами, которые сейчас, о которой знает только сервер.
Переместив какой-либо объект на оси, мы отправляем итог перемещения на сервер, где из полученных данных делаем новое значение стат. (Схема по пути "все на сервер")

Можно хранить на клиенте все статы, чтобы облегчить жизнь игре и не грузить соединение с сервером лишними пакетами (коих будет довольно много). Переместили предмет -> записали на клиенте -> отправляем на сервер через определенные промежутки времени, дабы давать какие-либо эффекты игроку в зависимости от стат.


Можно и через НБТ, как сказал Тимаха
 
Вопрос как раз таки в оптимальном решении. Я просто не особо подкован касательно нагрузки через NBT. Не вызовет ли это проблем с производительностью, может действительно стоит делать "Переместили предмет -> записали на клиенте -> отправляем на сервер через определенные промежутки времени"?
 
Назад
Сверху