Переопределить хуком блок if

Версия Minecraft
1.7.10
355
2
17
Добро, подскажите как правильно переопределить вот такой вот блок if, внутри цикла с помощью хуков

Java:
        for (int i1 = 0; i1 < this.inventorySlots.inventorySlots.size(); ++i1)
        {
            Slot slot = (Slot)this.inventorySlots.inventorySlots.get(i1);
            this.func_146977_a(slot);

            if (this.isMouseOverSlot(slot, p_73863_1_, p_73863_2_) && slot.func_111238_b()) <------------ Сюда
            {
                this.theSlot = slot;
                GL11.glDisable(GL11.GL_LIGHTING);
                GL11.glDisable(GL11.GL_DEPTH_TEST);
                int j1 = slot.xDisplayPosition;
                k1 = slot.yDisplayPosition;
                GL11.glColorMask(true, true, true, false);
                this.drawGradientRect(j1, k1, j1 + 16, k1 + 16, -2130706433, -2130706433);
                GL11.glColorMask(true, true, true, true);
                GL11.glEnable(GL11.GL_LIGHTING);
                GL11.glEnable(GL11.GL_DEPTH_TEST);
            }
        }

Попасть в область то попал, но на этом мои полномочья всё. Нужно при true просто заменить содержимое блока на свое, а там еще в добавок вторая проверка slot.func_111238_b()

Java:
    @Hook(at = @At(point = InjectionPoint.METHOD_CALL, target = "isMouseOverSlot"))
    @SideOnly(Side.CLIENT)
    public static void drawScreen(GuiContainer guiScreen, int xMouse, int yMouse, float partialTicks)
    {
        Logger.info("Hooked");
    }
 
355
2
17
Справедливо, но тут возникает еще пара вопросов, что если таких методов в коде более одного? Как определить нужный?
И как собственно отменить вызов этого drawGradientRect, вставить свой кусочек, и чтобы код продолжил работу? У меня только полный ретурн на этом месте выходит
 

tox1cozZ

aka Agravaine
8,454
598
2,890
 
Сверху