私は、ゲーム マインクラフトの mod の修正に取り組んでいます。しかし、落とし穴があります。modは私が作ったものではないので、逆コンパイルする必要があります
簡単に言うと、難読化された不完全なソースに取り組むのはこれが初めてです。
編集するファイルは 1 つだけです (約 1.5K のうち)。
それは正常に逆コンパイルされ、必要なものを編集しましたが、今はコンパイルできません。クラスパス変数を使用してjarを指すようにしているため、ゲームの残りのクラスを引き続き使用できます。しかし、「.getDeclaredField(s)」に関連する 2 つのエラーが存在します。
コード:
public static Minecraft getMinecraft()
{
try
{
Field field = Minecraft.getDeclaredField("a"); // Error here
field.setAccessible(true);
return (Minecraft)field.get(null);
}
catch(IllegalAccessException illegalaccessexception)
{
illegalaccessexception.printStackTrace();
}
catch(NoSuchFieldException nosuchfieldexception)
{
nosuchfieldexception.printStackTrace();
}
return null;
}
他のケースはこのようなものなので、それを示す必要はありません。
エラーログ:
TMIUtils.java:23: cannot find symbol
symbol : method getDeclaredField(java.lang.String)
location: class net.minecraft.client.Minecraft
Field field = Minecraft.getDeclaredField("a");
これを修正するにはどうすればよいですか?(getDeclaredField を使用するのもこれが初めてであることを覚えておいてください)