如何修改类文件中方法的行为

时间:2015-08-22 03:29:45

标签: java reflection minecraft

我试图在热门游戏“我的世界”中修改GUI绘图的行为。

目前,我有两个选项,重写游戏中的每一个GUI或重写他们的超类。因此,我将假设使用反射和修改超类将会更容易。

我有这个方法,它在编译的GuiScreen.class中处理绘图按钮和标签到屏幕

public void drawScreen(int p_73863_1_, int p_73863_2_, float p_73863_3_)
{
    int k;

    for (k = 0; k < this.buttonList.size(); ++k)
    {
        ((GuiButton)this.buttonList.get(k)).drawButton(this.mc, p_73863_1_, p_73863_2_);
    }

    for (k = 0; k < this.labelList.size(); ++k)
    {
        ((GuiLabel)this.labelList.get(k)).func_146159_a(this.mc, p_73863_1_, p_73863_2_);
    }
}

我想在每个for循环中添加一行

System.out.println("This for loop just run!")

只是暂时,一旦我把它弄下来,我确定我可以弄明白其余的。

我已经知道如何使用反射来访问私有方法并修改非静态/私有字段。与简单地调用方法相比,我将如何使用反射来修改或替换方法。

0 个答案:

没有答案