001package cpw.mods.fml.common;
002
003import java.util.List;
004
005import com.google.common.collect.MapDifference;
006
007import net.minecraft.entity.Entity;
008import net.minecraft.network.INetworkManager;
009import net.minecraft.network.packet.NetHandler;
010import net.minecraft.network.packet.Packet;
011import net.minecraft.network.packet.Packet131MapData;
012import net.minecraft.server.MinecraftServer;
013import cpw.mods.fml.common.network.EntitySpawnAdjustmentPacket;
014import cpw.mods.fml.common.network.EntitySpawnPacket;
015import cpw.mods.fml.common.network.ModMissingPacket;
016import cpw.mods.fml.common.registry.ItemData;
017import cpw.mods.fml.common.registry.EntityRegistry.EntityRegistration;
018import cpw.mods.fml.relauncher.Side;
019
020public interface IFMLSidedHandler
021{
022    List<String> getAdditionalBrandingInformation();
023
024    Side getSide();
025
026    void haltGame(String message, Throwable exception);
027
028    void showGuiScreen(Object clientGuiElement);
029
030    Entity spawnEntityIntoClientWorld(EntityRegistration registration, EntitySpawnPacket packet);
031
032    void adjustEntityLocationOnClient(EntitySpawnAdjustmentPacket entitySpawnAdjustmentPacket);
033
034    void beginServerLoading(MinecraftServer server);
035
036    void finishServerLoading();
037
038    MinecraftServer getServer();
039
040    void sendPacket(Packet packet);
041
042    void displayMissingMods(ModMissingPacket modMissingPacket);
043
044    void handleTinyPacket(NetHandler handler, Packet131MapData mapData);
045
046    void setClientCompatibilityLevel(byte compatibilityLevel);
047
048    byte getClientCompatibilityLevel();
049
050    boolean shouldServerShouldBeKilledQuietly();
051
052    void disconnectIDMismatch(MapDifference<Integer, ItemData> s, NetHandler toKill, INetworkManager mgr);
053}