我如何从此方法外部访问此变量?

问题描述 投票:0回答:1

我一直在尝试开发Minecraft mod,但是遇到了一个障碍,在这一障碍中我没有超越的机会。在尝试解决此问题的过程中,我筛选了多个其他问题和网站,但无济于事。

我得到的最接近的位置是我在方法外部创建变量,然后在方法内部设置值的位置。但是,这样做的问题是它总是返回null。

此外,如果不清楚,我在说的是“ taskEntriesMethod”变量。

这是我的代码:

 public void getExecutingTaskEntries(Profiler profiler)
    {
        try
        {
            Class<?> AITasks = Class.forName("net.minecraft.entity.ai.EntityAITasks");

            Field taskEntries = AITasks.getDeclaredField("executingTaskEntries");
                  taskEntries.setAccessible(true);

            Object AITasksObj = taskEntries.get(new EntityAITasks(profiler));

            Set<EntityAITasks.EntityAITaskEntry> taskEntriesMethod = (Set<EntityAITaskEntry>) AITasksObj;



        }
        catch (ClassNotFoundException | NoSuchFieldException | IllegalAccessException exception) { exception.printStackTrace(); }

    }


    private final Set<EntityAITasks.EntityAITaskEntry> executingTaskEntries = taskEntriesMethod; //  <-- (this is what errors out)
java java-8 minecraft-forge
1个回答
0
投票

您正在尝试将变量视为无法执行的全局变量。请查看以下Java - Global variables vs Global methods,这应该会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.