簡體   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