67 lines
2.2 KiB
Java
67 lines
2.2 KiB
Java
package net.minecraft.realms;
|
|
|
|
import java.lang.reflect.Constructor;
|
|
import net.minecraft.client.Minecraft;
|
|
import net.minecraft.client.gui.GuiScreen;
|
|
import net.minecraft.client.gui.GuiScreenRealmsProxy;
|
|
import net.minecraftforge.fml.relauncher.Side;
|
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
|
import org.apache.logging.log4j.LogManager;
|
|
import org.apache.logging.log4j.Logger;
|
|
|
|
@SideOnly(Side.CLIENT)
|
|
public class RealmsBridge extends RealmsScreen
|
|
{
|
|
private static final Logger LOGGER = LogManager.getLogger();
|
|
private GuiScreen previousScreen;
|
|
|
|
public void switchToRealms(GuiScreen p_switchToRealms_1_)
|
|
{
|
|
this.previousScreen = p_switchToRealms_1_;
|
|
|
|
try
|
|
{
|
|
Class<?> oclass = Class.forName("com.mojang.realmsclient.RealmsMainScreen");
|
|
Constructor<?> constructor = oclass.getDeclaredConstructor(RealmsScreen.class);
|
|
constructor.setAccessible(true);
|
|
Object object = constructor.newInstance(this);
|
|
Minecraft.getMinecraft().displayGuiScreen(((RealmsScreen)object).getProxy());
|
|
}
|
|
catch (ClassNotFoundException var5)
|
|
{
|
|
LOGGER.error("Realms module missing");
|
|
}
|
|
catch (Exception exception)
|
|
{
|
|
LOGGER.error("Failed to load Realms module", (Throwable)exception);
|
|
}
|
|
}
|
|
|
|
public GuiScreenRealmsProxy getNotificationScreen(GuiScreen p_getNotificationScreen_1_)
|
|
{
|
|
try
|
|
{
|
|
this.previousScreen = p_getNotificationScreen_1_;
|
|
Class<?> oclass = Class.forName("com.mojang.realmsclient.gui.screens.RealmsNotificationsScreen");
|
|
Constructor<?> constructor = oclass.getDeclaredConstructor(RealmsScreen.class);
|
|
constructor.setAccessible(true);
|
|
Object object = constructor.newInstance(this);
|
|
return ((RealmsScreen)object).getProxy();
|
|
}
|
|
catch (ClassNotFoundException var5)
|
|
{
|
|
LOGGER.error("Realms module missing");
|
|
}
|
|
catch (Exception exception)
|
|
{
|
|
LOGGER.error("Failed to load Realms module", (Throwable)exception);
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
public void init()
|
|
{
|
|
Minecraft.getMinecraft().displayGuiScreen(this.previousScreen);
|
|
}
|
|
} |