-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Юрий edited this page Oct 14, 2018
·
4 revisions
Добро пожаловать на страницу документации библиотеки MinecraftTabInventory!
Чтобы добавить в ваш мод поддержку инвентарей со вкладками, вам нужно сделать несколько простых вещей:
- Наследуйте Container вашего инвентаря от класса TabContainer.
- Наследуйте GuiContainer вашего инвентаря от TabGuiContainer.
- В время init фазы загрузки вашего мода вызовите NetworkUtils#registerMessages()
- Во время инициализации объекта-контейнера на стороне клиента, добавьте ваш TabInventory к движку синхронизации, вызвав
getSync().addSync(tabInventory)
. Пример
Если по какой-либо причине вы не можете наследоваться от TabContainer и TabGuiContainer, то вы можете самостоятельно имплементить интерфейсы из класса SupportTabs:
Реализуйте в вашем контейнере интерфейс SupportTabs.Container:
- Метод SupportTabs.Container#getTabInventory(String) - необходим чтобы получать инвентарь по его имени. Это полезно если ваш контейнер работает с несколькими TabInventory
- SupportTabs.Container#getTabInventories() - должен возвращать Map с объектами в формате "ИМЯ_ИНВЕНТАРЯ->TAB_INVENTORY". Имейте ввиду что ключ и имя инвентаря из значения должны совпадать.
- SupportTabs.Container#getSync() - возвращает объект синхронизации вашего контейнера. Рекомендую вам создать приватное поле типа TabInventorySync и возвращать его. Обратите так же внимание что в конструктор TabInventorySync необходимо передавать контейнер который наследуется от Container (прямо или косвенно) и реализует SupportTabs.Container!
Реализуйте в вашем гуи-контейнере интерфейс SupportTabs.Gui:
- SupportTabs.Gui#getSynс() - должен возвращать объект синхронизации для контейнера который связан с вашим GuiContainer'ом. Вероятнее всего, вам достаточно будет такой реализации:
@Override
public TabInventorySync getSync() {
return ((SupportTabs.Container) this.inventorySlots).getSync();
// GuiContainer#inventorySlots - связанный контейнер
}
Лиза = жопа