package codechicken.core; import codechicken.core.internal.CCCEventHandler; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiScreen; import net.minecraft.network.NetworkManager; import net.minecraft.server.MinecraftServer; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.ModContainer; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; public class ClientUtils extends CommonUtils { private static Minecraft mc() { return Minecraft.getMinecraft(); } public static World getWorld() { return mc().theWorld; } public static boolean inWorld()//TODO unused { return mc().getNetHandler() != null; } public static void openSMPGui(int windowId, GuiScreen gui) { mc().displayGuiScreen(gui); if (windowId != 0) { mc().thePlayer.openContainer.windowId = windowId; } } public static float getRenderFrame() { return CCCEventHandler.renderFrame; } public static double getRenderTime() { return CCCEventHandler.renderTime + getRenderFrame(); } public static String getServerIP() { try { NetworkManager networkManager = mc().getNetHandler().getNetworkManager(); String s = networkManager.getRemoteAddress().toString(); s = s.substring(s.indexOf("/") + 1); return s; } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new RuntimeException(e); } } @SideOnly(Side.CLIENT) public static String getWorldSaveName() { return mc().isSingleplayer() ? MinecraftServer.getServer().getFolderName() : null; } public static void enhanceSupportersList(Object mod) { ModContainer mc = FMLCommonHandler.instance().findContainerFor(mod); mc.getMetadata().description = mc.getMetadata().description.replace("Supporters:", EnumChatFormatting.AQUA + "Supporters:"); GuiModListScroll.register(mod); } }