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    
019    public interface IFMLSidedHandler
020    {
021        List<String> getAdditionalBrandingInformation();
022    
023        Side getSide();
024    
025        void haltGame(String message, Throwable exception);
026    
027        void showGuiScreen(Object clientGuiElement);
028    
029        Entity spawnEntityIntoClientWorld(EntityRegistration registration, EntitySpawnPacket packet);
030    
031        void adjustEntityLocationOnClient(EntitySpawnAdjustmentPacket entitySpawnAdjustmentPacket);
032    
033        void beginServerLoading(MinecraftServer server);
034    
035        void finishServerLoading();
036    
037        MinecraftServer getServer();
038    
039        void sendPacket(Packet packet);
040    
041        void displayMissingMods(ModMissingPacket modMissingPacket);
042    
043        void handleTinyPacket(NetHandler handler, Packet131MapData mapData);
044    
045        void setClientCompatibilityLevel(byte compatibilityLevel);
046    
047        byte getClientCompatibilityLevel();
048    
049        boolean shouldServerShouldBeKilledQuietly();
050    
051        void disconnectIDMismatch(MapDifference<Integer, ItemData> s, NetHandler toKill, INetworkManager mgr);
052    }