[Хук] Не работает, работая.

Версия Minecraft
1.11.2
5,018
47
783
Мне потребовалось вставить хук в рендер предмета, чтобы там рендерить текст на нем(на предмете)
Код:
public void renderItemInFirstPerson(float partialTicks)
    {
        AbstractClientPlayer abstractclientplayer = this.mc.player;
        float f = abstractclientplayer.getSwingProgress(partialTicks);
        EnumHand enumhand = (EnumHand)Objects.firstNonNull(abstractclientplayer.swingingHand, EnumHand.MAIN_HAND);
        float f1 = abstractclientplayer.prevRotationPitch + (abstractclientplayer.rotationPitch - abstractclientplayer.prevRotationPitch) * partialTicks;
        float f2 = abstractclientplayer.prevRotationYaw + (abstractclientplayer.rotationYaw - abstractclientplayer.prevRotationYaw) * partialTicks;
        boolean flag = true;
        boolean flag1 = true;

        if (abstractclientplayer.isHandActive())
        {
            ItemStack itemstack = abstractclientplayer.getActiveItemStack();

            if (itemstack != null && itemstack.getItem() == Items.BOW) //Forge: Data watcher can desync and cause this to NPE...
            {
                EnumHand enumhand1 = abstractclientplayer.getActiveHand();
                flag = enumhand1 == EnumHand.MAIN_HAND;
                flag1 = !flag;
            }
        }

        this.rotateArroundXAndY(f1, f2);
        this.setLightmap();
        this.rotateArm(partialTicks);
        GlStateManager.enableRescaleNormal();

        if (flag)
        {
            float f3 = enumhand == EnumHand.MAIN_HAND ? f : 0.0F;
            float f5 = 1.0F - (this.prevEquippedProgressMainHand + (this.equippedProgressMainHand - this.prevEquippedProgressMainHand) * partialTicks);
            if(!net.minecraftforge.client.ForgeHooksClient.renderSpecificFirstPersonHand(EnumHand.MAIN_HAND, partialTicks, f1, f3, f5, this.itemStackMainHand))
            this.renderItemInFirstPerson(abstractclientplayer, partialTicks, f1, EnumHand.MAIN_HAND, f3, this.itemStackMainHand, f5);
        }

        if (flag1)
        {
            float f4 = enumhand == EnumHand.OFF_HAND ? f : 0.0F;
            float f6 = 1.0F - (this.prevEquippedProgressOffHand + (this.equippedProgressOffHand - this.prevEquippedProgressOffHand) * partialTicks);
            if(!net.minecraftforge.client.ForgeHooksClient.renderSpecificFirstPersonHand(EnumHand.OFF_HAND, partialTicks, f1, f4, f6, this.itemStackOffHand))
            this.renderItemInFirstPerson(abstractclientplayer, partialTicks, f1, EnumHand.OFF_HAND, f4, this.itemStackOffHand, f6);
        }

        GlStateManager.disableRescaleNormal();
        RenderHelper.disableStandardItemLighting();
    }
Вот собственно, нужный мне метод(если я правильно понял, рисовка предмета от первого лица в руке происходит именно тут) в классе ItemRenderer. Я ноль в ASM, но слышал, что можно заюзать хуклибу, что я собственно и сделал. Установил все правильно, что подтверждается рабочими примерами GloomyFolken
Итак, я все установил, сделал, как написано в инструкции, метод с аннотацией @Hook, закинул туда простейший рендер текста
Код:
@Hook
 public static void renderItemInFirstPerson(ItemRenderer ir,float partialTicks){
 GL11.glPushMatrix();
 GL11.glEnable(GL11.GL_BLEND);
 System.out.println("hook!");
 FontRenderer fontrenderer = Minecraft.getMinecraft().fontRendererObj;
 fontrenderer.drawString("Hello World!", 17, 5, 0xFFFFFF);
 GL11.glDisable(GL11.GL_BLEND);
 GL11.glPopMatrix();
 }

Первым аргументов прописал целевой класс. В итоге, в консоли дикий флуд от клиента "hook!", но текста на предмете не появилось.(я так понял, должно на любом предмете появлятся)Что я делаю не так?
 
7,099
324
1,510
Сделай NEVER, чтобы никогда не возвращало(это по дефолту)
 
5,018
47
783
Не помогло, работает все также криво(все предметы в игре начинают рендерится по непонятным законам)
 
Сверху