Changed the title panorama to suit BOP better

This commit is contained in:
Adubbz 2014-01-14 22:55:00 +11:00
parent a034a6b7e7
commit f0c0a8070d
10 changed files with 146 additions and 81 deletions

View File

@ -0,0 +1,20 @@
package biomesoplenty.client.gui;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import biomesoplenty.common.helpers.BOPReflectionHelper;
import net.minecraft.client.gui.GuiMainMenu;
import net.minecraft.util.ResourceLocation;
public class GuiMainMenuBOP extends GuiMainMenu
{
public static ResourceLocation[] bopTitlePanoramaPaths = new ResourceLocation[] {new ResourceLocation("biomesoplenty:textures/gui/title/background/panorama_0.png"), new ResourceLocation("biomesoplenty:textures/gui/title/background/panorama_1.png"), new ResourceLocation("biomesoplenty:textures/gui/title/background/panorama_2.png"), new ResourceLocation("biomesoplenty:textures/gui/title/background/panorama_3.png"), new ResourceLocation("biomesoplenty:textures/gui/title/background/panorama_4.png"), new ResourceLocation("biomesoplenty:textures/gui/title/background/panorama_5.png")};
public GuiMainMenuBOP()
{
super();
BOPReflectionHelper.setPrivateFinalValue(GuiMainMenu.class, this, bopTitlePanoramaPaths, "titlePanoramaPaths", "field_73978_o");
}
}

View File

@ -1,53 +1,55 @@
package biomesoplenty.common.eventhandler; package biomesoplenty.common.eventhandler;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import biomesoplenty.common.eventhandler.entity.DyeEventHandler; import biomesoplenty.common.eventhandler.entity.DyeEventHandler;
import biomesoplenty.common.eventhandler.entity.FlippersEventHandler; import biomesoplenty.common.eventhandler.entity.FlippersEventHandler;
import biomesoplenty.common.eventhandler.entity.TemptEventHandler; import biomesoplenty.common.eventhandler.entity.TemptEventHandler;
import biomesoplenty.common.eventhandler.gui.StartupWarningEventHandler; import biomesoplenty.common.eventhandler.gui.MainMenuOverrideEventHandler;
import biomesoplenty.common.eventhandler.misc.CapeEventHandler; import biomesoplenty.common.eventhandler.gui.StartupWarningEventHandler;
import biomesoplenty.common.eventhandler.potions.PotionParalysisEventHandler; import biomesoplenty.common.eventhandler.misc.CapeEventHandler;
import biomesoplenty.common.eventhandler.potions.PotionPossessionEventHandler; import biomesoplenty.common.eventhandler.potions.PotionParalysisEventHandler;
import biomesoplenty.common.eventhandler.world.DecorateBiomeEventHandler; import biomesoplenty.common.eventhandler.potions.PotionPossessionEventHandler;
import biomesoplenty.common.eventhandler.world.DecorationModificationEventHandler; import biomesoplenty.common.eventhandler.world.DecorateBiomeEventHandler;
import biomesoplenty.common.eventhandler.world.DecorationModificationEventHandler;
public class BOPEventHandlers
{ public class BOPEventHandlers
public static void init() {
{ public static void init()
registerWorldEventHandlers(); {
registerEntityEventHandlers(); registerWorldEventHandlers();
registerPotionEventHandlers(); registerEntityEventHandlers();
registerGUIEventHandlers(); registerPotionEventHandlers();
registerMiscEventHandlers(); registerGUIEventHandlers();
} registerMiscEventHandlers();
}
private static void registerWorldEventHandlers()
{ private static void registerWorldEventHandlers()
MinecraftForge.EVENT_BUS.register(new DecorateBiomeEventHandler()); {
MinecraftForge.TERRAIN_GEN_BUS.register(new DecorationModificationEventHandler()); MinecraftForge.EVENT_BUS.register(new DecorateBiomeEventHandler());
} MinecraftForge.TERRAIN_GEN_BUS.register(new DecorationModificationEventHandler());
}
private static void registerEntityEventHandlers()
{ private static void registerEntityEventHandlers()
MinecraftForge.EVENT_BUS.register(new DyeEventHandler()); {
MinecraftForge.EVENT_BUS.register(new FlippersEventHandler()); MinecraftForge.EVENT_BUS.register(new DyeEventHandler());
MinecraftForge.EVENT_BUS.register(new TemptEventHandler()); MinecraftForge.EVENT_BUS.register(new FlippersEventHandler());
} MinecraftForge.EVENT_BUS.register(new TemptEventHandler());
}
private static void registerPotionEventHandlers()
{ private static void registerPotionEventHandlers()
MinecraftForge.EVENT_BUS.register(new PotionParalysisEventHandler()); {
MinecraftForge.EVENT_BUS.register(new PotionPossessionEventHandler()); MinecraftForge.EVENT_BUS.register(new PotionParalysisEventHandler());
} MinecraftForge.EVENT_BUS.register(new PotionPossessionEventHandler());
}
private static void registerGUIEventHandlers()
{ private static void registerGUIEventHandlers()
MinecraftForge.EVENT_BUS.register(StartupWarningEventHandler.instance); {
} MinecraftForge.EVENT_BUS.register(StartupWarningEventHandler.instance);
MinecraftForge.EVENT_BUS.register(new MainMenuOverrideEventHandler());
private static void registerMiscEventHandlers() }
{
MinecraftForge.EVENT_BUS.register(new CapeEventHandler()); private static void registerMiscEventHandlers()
} {
} MinecraftForge.EVENT_BUS.register(new CapeEventHandler());
}
}

View File

@ -0,0 +1,18 @@
package biomesoplenty.common.eventhandler.gui;
import biomesoplenty.client.gui.GuiMainMenuBOP;
import net.minecraft.client.gui.GuiMainMenu;
import net.minecraftforge.client.event.GuiOpenEvent;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
public class MainMenuOverrideEventHandler
{
@SubscribeEvent
public void openMainMenu(GuiOpenEvent event)
{
if (event.gui instanceof GuiMainMenu)
{
event.gui = new GuiMainMenuBOP();
}
}
}

View File

@ -1,28 +1,53 @@
package biomesoplenty.common.helpers; package biomesoplenty.common.helpers;
import java.util.Arrays; import java.lang.reflect.Field;
import java.util.Map; import java.lang.reflect.Modifier;
import java.util.Map.Entry;
import cpw.mods.fml.common.ObfuscationReflectionHelper;
import com.google.common.collect.BiMap; import cpw.mods.fml.relauncher.ReflectionHelper;
import cpw.mods.fml.common.ObfuscationReflectionHelper; public class BOPReflectionHelper
import cpw.mods.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper; {
import cpw.mods.fml.relauncher.ReflectionHelper; public static <T, E> T getPrivateValue(Class <? super E > classToAccess, E instance, String fieldName, String obfFieldName)
{
public class BOPReflectionHelper try
{ {
public static <T, E> T getPrivateValue(Class <? super E > classToAccess, E instance, String fieldName, String obfFieldName) Class.forName("net.minecraft.world.World");
{
try return ReflectionHelper.getPrivateValue(classToAccess, instance, fieldName);
{ }
Class.forName("net.minecraft.world.World"); catch (ClassNotFoundException e)
{
return ReflectionHelper.getPrivateValue(classToAccess, instance, fieldName); return ObfuscationReflectionHelper.getPrivateValue(classToAccess, instance, obfFieldName);
} }
catch (ClassNotFoundException e) }
{
return ObfuscationReflectionHelper.getPrivateValue(classToAccess, instance, obfFieldName); public static <T, E> void setPrivateFinalValue(Class <? super T > classToAccess, T instance, E value, String fieldName, String obfFieldName)
} {
} try
} {
Field field = null;
try
{
Class.forName("net.minecraft.world.World");
field = ReflectionHelper.findField(classToAccess, fieldName);
}
catch (ClassNotFoundException e)
{
field = ReflectionHelper.findField(classToAccess, ObfuscationReflectionHelper.remapFieldNames(classToAccess.getName(), obfFieldName));
}
Field modifiersField = Field.class.getDeclaredField("modifiers");
modifiersField.setAccessible(true);
modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
field.set(instance, value);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB