Отличие между IExtendedEntityProperties и Capabilities

Версия Minecraft
1.12.1

tox1cozZ

aka Agravaine
8,456
598
2,892
Ну вот никак не могу понять, чем же лучше капы? Только куча дополнительных классов, интерфейсов и провайдеров. Зачем? Меня, например, устраивал IExtendedEntityProperties.
Объясните, пожалуйста.
 
2,505
81
397
1. Доступ к капе чуть по-быстрее. Доступ к IEEP происходит по строке, а к капе по объект-аксессору. Ну и коллизий из-за этого не будет. Хотя я в своем моде дал доступ к своей IEEP вообще напрямую.
2. Полиморфизм (1 интерфейс - множество реализаций). Типа создаешь капу с каким-нибудь интерфейсом. А у разных сущностей по-разному его реализуешь.
3. Аналогичный механизм для тайлов и стаков. По идее, еще для мира было бы удобно добавить.


Minebot написал(а):
Я написал оболочку и норм
Это вообще дикость. Ты хранишь данные в нбт, а при доступе к конкретному объекту распаковываешь его?
 
1,015
9
102
Dahaka написал(а):
Minebot написал(а):
Я написал оболочку и норм
Это вообще дикость. Ты хранишь данные в нбт, а при доступе к конкретному объекту распаковываешь его?

Я не находил инфу/гайд о том, что можно сделать иначе, и о том, чем капа отличается от NBT.


Чувствую, что я эту инфу узнаю ток когда мой код обосрут
 
2,505
81
397
Agravaine написал(а):
Как я понял, синхронизировать нужно так же вручную?
Естественно.


Minebot написал(а):
Я не находил инфу/гайд о том, что можно сделать иначе, и о том, чем капа отличается от NBT.
Капа - это интерфейс. Умеет упаковаться и распаковаться в nbt для сохранения в мир (по дефолту). Но это можно использовать и вручную, например, для синхронизации. А nbt это просто структура данных.


Minebot написал(а):
Чувствую, что я эту инфу узнаю ток когда мой код обосрут
Так обычно и бывает ;)
 
Сверху