001    package cpw.mods.fml.common;
002    
003    import java.util.List;
004    
005    import com.google.common.collect.MapDifference;
006    
007    import net.minecraft.entity.Entity;
008    import net.minecraft.network.INetworkManager;
009    import net.minecraft.network.packet.NetHandler;
010    import net.minecraft.network.packet.Packet;
011    import net.minecraft.network.packet.Packet131MapData;
012    import net.minecraft.server.MinecraftServer;
013    import cpw.mods.fml.common.network.EntitySpawnAdjustmentPacket;
014    import cpw.mods.fml.common.network.EntitySpawnPacket;
015    import cpw.mods.fml.common.network.ModMissingPacket;
016    import cpw.mods.fml.common.registry.ItemData;
017    import cpw.mods.fml.common.registry.EntityRegistry.EntityRegistration;
018    import cpw.mods.fml.relauncher.Side;
019    
020    public 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    }