Как получить название меню (сундука) со стороны клиента

Версия Minecraft
1.16.5
API
Forge
У меня есть событие которое перехватывает открытие больших сундуков:

Событие открытия сундука/меню:
package org.sawaplaygo.resale.handlers;

import net.minecraft.client.Minecraft;
import net.minecraft.inventory.container.Container;
import net.minecraft.inventory.container.ContainerType;
import net.minecraft.util.text.StringTextComponent;
import net.minecraftforge.event.entity.player.PlayerContainerEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;


/**
 * Слушатель для открытия контейнеров (в том числе сундуков).
 */
@Mod.EventBusSubscriber(modid = "funtime", bus = Mod.EventBusSubscriber.Bus.FORGE)
public class ContainerOpenHandler {

    // Слушаем событие открытия контейнера
    @SubscribeEvent
    public static void onContainerOpenHandler(PlayerContainerEvent.Open event) {
        // Получаем контейнер
        Container container = event.getContainer();

        // Проверяем, является ли контейнер большим сундуком
        if (ContainerType.GENERIC_9x6.equals(container.getType())) {
            // Печатаем сообщение в консоль при открытии большого сундука

            // Действие при открытии
            Minecraft.getInstance().player.sendMessage(
                    new StringTextComponent("Сундук открыт"),
                    Minecraft.getInstance().player.getUUID()
            );
        }
    }
}
У класса Conatainer не нашёл методов по которым можно получить название.
 
Да?
У класса Conatainer не нашёл методов по которым можно получить название

А как же getDisplayNamed?
Он возвращает ITextComponent.


Java:
    @SubscribeEvent
    public static void onContainerOpenHandler(PlayerContainerEvent.Open event) {
        Container container = event.getContainer();
        if (ContainerType.GENERIC_9x6.equals(container.getType())) {
            // Получаем название контейнера
            ITextComponent displayName = container.getDisplayName();
            // Печатаем сообщение в консоль при открытии большого сундука
            Minecraft.getInstance().player.sendMessage(
                    new StringTextComponent("Сундук открыт: " + displayName.getString()),
                    Minecraft.getInstance().player.getUUID()
            );
        }
    }
 
Назад
Сверху