繁体   English   中英

Java 反射 - 从 class 实例字段获取值

[英]Java reflection - Get values from class instance field

我正在尝试为 Minecraft 创建一些作弊。 为此,我决定使用反射和代理。 在第一阶段,出现了一个问题。 我有 Minecraft.class class。这个 class 有返回 Minecraft 实例的 getMinecraft() 方法。 这个实例有玩家字段。 从这个领域,我需要得到 posX 变量。 我想我没有解释得很清楚,所以这是我想做的示例代码:

final net.minecraft.client.Minecraft mc = net.minecraft.client.Minecraft.getMinecraft();
System.out.println(mc.player.posX);

现在,是否有可能通过反射以某种方式实现它?

您使用以下反射方法:

Class<?> minecraftClass = Class.forName("net.minecraft.client.Minecraft");
Object mc = minecraftClass.getMethod("getMinecraft")
                          .invoke(null);
Object player = mc.getClass().getField("player")
                  .get(mc);
Object posX = player.getClass().getField("posX")
                    .get(player);
System.out.println(posX);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM