Fixed crash on startup with the custom panorama. Fixes #185
This commit is contained in:
parent
4e12a7b9d8
commit
8732497a24
|
@ -20,7 +20,7 @@ public class MainMenuEventHandler
|
||||||
{
|
{
|
||||||
GuiMainMenu mainMenu = (GuiMainMenu)event.gui;
|
GuiMainMenu mainMenu = (GuiMainMenu)event.gui;
|
||||||
|
|
||||||
BOPReflectionHelper.setPrivateFinalValue(GuiMainMenu.class, mainMenu, bopTitlePanoramaPaths, "titlePanoramaPaths", "titlePanoramaPaths");
|
BOPReflectionHelper.setPrivateFinalValue(GuiMainMenu.class, mainMenu, bopTitlePanoramaPaths, "titlePanoramaPaths", "field_73978_o");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,37 +8,11 @@ import cpw.mods.fml.relauncher.CoreModManager;
|
||||||
import cpw.mods.fml.relauncher.ReflectionHelper;
|
import cpw.mods.fml.relauncher.ReflectionHelper;
|
||||||
|
|
||||||
public class BOPReflectionHelper
|
public class BOPReflectionHelper
|
||||||
{
|
{
|
||||||
public static boolean isDeobfuscated = ReflectionHelper.getPrivateValue(CoreModManager.class, null, "deobfuscatedEnvironment");
|
|
||||||
|
|
||||||
public static <T, E> T getPrivateValue(Class <? super E > classToAccess, E instance, String fieldName, String obfFieldName)
|
|
||||||
{
|
|
||||||
if (isDeobfuscated)
|
|
||||||
{
|
|
||||||
return ReflectionHelper.getPrivateValue(classToAccess, instance, fieldName);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return ObfuscationReflectionHelper.getPrivateValue(classToAccess, instance, obfFieldName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static <T, E> void setPrivateValue(Class <? super T > classToAccess, T instance, E value, String fieldName, String obfFieldName)
|
|
||||||
{
|
|
||||||
if (isDeobfuscated)
|
|
||||||
{
|
|
||||||
ReflectionHelper.setPrivateValue(classToAccess, instance, value, fieldName);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ObfuscationReflectionHelper.setPrivateValue(classToAccess, instance, value, obfFieldName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static <T, E> void setPrivateFinalValue(Class <? super T > classToAccess, T instance, E value, String... fieldNames)
|
public static <T, E> void setPrivateFinalValue(Class <? super T > classToAccess, T instance, E value, String... fieldNames)
|
||||||
{
|
{
|
||||||
Field field = ReflectionHelper.findField(classToAccess, ObfuscationReflectionHelper.remapFieldNames(classToAccess.getName(), fieldNames));
|
Field field = ReflectionHelper.findField(classToAccess, ObfuscationReflectionHelper.remapFieldNames(classToAccess.getName(), fieldNames));
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Field modifiersField = Field.class.getDeclaredField("modifiers");
|
Field modifiersField = Field.class.getDeclaredField("modifiers");
|
||||||
|
|
Loading…
Reference in New Issue