Переопределение тултипа.

Версия Minecraft
1.7.10

deleted.user

Мошенник
321
43
Всем привет. Делаю свой инвентарь, расширяю его через extends InventoryEffectRenderer, далее делаю следующее:
скопипастил методы renderToolTip, drawHoveringText, переопределил их через @Override, прописал в них свою логику, сделал вызовы где надо. Моя логика работает в IDE, а в собранном моде нет. Хуки не использовал. Почему так может происходить?
 
Решение
У тебя на боевом клиенте NEI стоит? Он там пол GuiContainer перелопачивает, скотина. В итоге эти методы тултипа вообще не вызываются.
Чтобы работало с NEI, нужно регать свой тултип хандлер и там писать логику:
Java:
@SideOnly(Side.CLIENT)
@Interface(iface = "codechicken.nei.guihook.IContainerTooltipHandler", modid = "NotEnoughItems")
public class GuiTraderTooltipHandler implements IContainerTooltipHandler{

    @Override
    @Method(modid = "NotEnoughItems")
    public List<String> handleTooltip(GuiContainer gui, int mouseX, int mouseY, List<String> tooltip){
        return tooltip;
    }

    @Override
    @Method(modid = "NotEnoughItems")
    public List<String> handleItemDisplayName(GuiContainer gui, ItemStack itemStack, List<String>...

tox1cozZ

aka Agravaine
8,455
598
2,892
У тебя на боевом клиенте NEI стоит? Он там пол GuiContainer перелопачивает, скотина. В итоге эти методы тултипа вообще не вызываются.
Чтобы работало с NEI, нужно регать свой тултип хандлер и там писать логику:
Java:
@SideOnly(Side.CLIENT)
@Interface(iface = "codechicken.nei.guihook.IContainerTooltipHandler", modid = "NotEnoughItems")
public class GuiTraderTooltipHandler implements IContainerTooltipHandler{

    @Override
    @Method(modid = "NotEnoughItems")
    public List<String> handleTooltip(GuiContainer gui, int mouseX, int mouseY, List<String> tooltip){
        return tooltip;
    }

    @Override
    @Method(modid = "NotEnoughItems")
    public List<String> handleItemDisplayName(GuiContainer gui, ItemStack itemStack, List<String> tooltip){
        if(gui instanceof GuiTrader){
            ((GuiTrader)gui).setupTooltip(tooltip);
        }
        return tooltip;
    }

    @Override
    @Method(modid = "NotEnoughItems")
    public List<String> handleItemTooltip(GuiContainer gui, ItemStack itemStack, int mouseX, int mouseY, List<String> tooltip){
        return tooltip;
    }
}
Java:
GuiContainerManager.addTooltipHandler(new GuiTraderTooltipHandler());
 
Сверху