package de.take_weiland.mods.commons.internal.client;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import de.take_weiland.mods.commons.client.ScreenWithParent;
import de.take_weiland.mods.commons.internal.SevenCommonsProxy;
import net.minecraft.client.Minecraft;
import net.minecraft.client.multiplayer.NetClientHandler;
import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.INetworkManager;
import net.minecraft.network.packet.NetHandler;
import net.minecraft.network.packet.Packet;
import net.minecraftforge.client.event.GuiOpenEvent;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.ForgeSubscribe;
public final class ClientProxy implements SevenCommonsProxy {
private final Minecraft mc = Minecraft.getMinecraft();
@Override
public void preInit(FMLPreInitializationEvent event) {
MinecraftForge.EVENT_BUS.register(this);
}
@ForgeSubscribe
public void onOpenGui(GuiOpenEvent event) {
if (event.gui == null && mc.currentScreen instanceof ScreenWithParent) {
event.gui = ((ScreenWithParent) mc.currentScreen).getParentScreen();
}
}
@Override
public INetworkManager getNetworkManagerFromClient(NetHandler clientHandler) {
return ((NetClientHandler) clientHandler).getNetManager();
}
@Override
public void sendPacketToServer(Packet p) {
mc.getNetHandler().addToSendQueue(p);
}
@Override
public EntityPlayer getClientPlayer() {
return mc.thePlayer;
}
@Override
public String translate(String key) {
return I18n.getString(key);
}
}