Капабилити, которое сохраняется и загружается вместе с миром

Версия Minecraft
1.12.2
7,099
324
1,510
Как лучше делать сохраняемую капу: через реализацию IStorage или через INBTSerializable?
До этого момента делал совмещенно: делал IStorage и из INBTSerializable дергал IStorage этой капы. Но теперь это кажется избыточным
 
7,099
324
1,510
7,099
324
1,510
Ах да, на самом деле делаю капу для чанков. Но хотелось бы узнать, что лучше применять для каждого типа объекта, к которому можно прикрутить капу
 

Icosider

Kotliner
Администратор
3,603
99
664
Нашёл более точно донесение моих слов:
The Capability.IStorage implementation is responsible for reading/writing NBT for the default implementation of the handler interface. It doesn't have to support alternative implementations.

If your ICapabilityProvider implementation also implements INBTSerializable (or implements ICapabilitySerializable, a combination of the two interfaces), it will be used to read from/write to NBT. If it provides a compatible implementation of the handler interface, it can use the IStorage to do this. If it provides an implementation not supported by the IStorage, it needs to do this itself.
 
Последнее редактирование:
7,099
324
1,510
Вольный перевод: есть две одинаковые вещи: ICapabilitySerializable и IStorage. Нужно использовать хотя бы одну из них, иначе первое должно юзать второе.
Я правильно понял?

Теперь вопрос: если существует одно из них, то зачем нужно второе?
Почему для сущностей не обойтись одним IStorage, а для мира можно обойтись?
 
Сверху