    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}