/*
 * This file is part of SpongeAPI, licensed under the MIT License (MIT).
 *
 * Copyright (c) SpongePowered <https://www.spongepowered.org>
 * Copyright (c) contributors
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */
package org.spongepowered.api;

import static com.google.common.base.Preconditions.checkState;

import org.spongepowered.api.network.ChannelRegistrar;
import org.spongepowered.api.plugin.PluginManager;
import org.spongepowered.api.service.ServiceManager;
import org.spongepowered.api.command.CommandManager;
import org.spongepowered.api.event.EventManager;
import org.spongepowered.api.data.DataManager;
import org.spongepowered.api.scheduler.Scheduler;

public final class Sponge {

    private static final Game game = null;

    public static Game getGame() {
        checkState(game != null, "Sponge has not been initialized!");
        return game;
    }

    public static GameRegistry getRegistry() {
        return getGame().getRegistry();
    }

    public static ServiceManager getServiceManager() {
        return getGame().getServiceManager();
    }

    public static EventManager getEventManager() {
        return getGame().getEventManager();
    }

    public static Scheduler getScheduler() {
        return getGame().getScheduler();
    }

    public static DataManager getDataManager() {
        return getGame().getDataManager();
    }

    public static PluginManager getPluginManager() {
        return getGame().getPluginManager();
    }

    public static Platform getPlatform() {
        return getGame().getPlatform();
    }

    public static GameDictionary getDictionary() {
        return getGame().getGameDictionary();
    }

    public static CommandManager getCommandDispatcher() {
        return getGame().getCommandManager();
    }

    public static ChannelRegistrar getChannelRegistrar() {
        return getGame().getChannelRegistrar();
    }

}

@@ -1373,31 +1373,29 @@
 api.
-network.ChannelRegistra
+command.CommandManage
 r;%0Ai
@@ -1426,21 +1426,17 @@
 api.
-plugin.Plugin
+data.Data
 Mana
@@ -1473,23 +1473,19 @@
 api.
-service.Service
+event.Event
 Mana
@@ -1518,37 +1518,39 @@
 red.api.
-command.CommandManage
+network.ChannelRegistra
 r;%0Aimpor
@@ -1569,35 +1569,37 @@
 powered.api.
-event.Event
+plugin.Plugin
 Manager;%0Aimp
@@ -1620,38 +1620,41 @@
 powered.api.
-data.DataManag
+scheduler.Schedul
 er;%0Aimport o
@@ -1675,32 +1675,35 @@
 ed.api.s
-cheduler.Schedul
+ervice.ServiceManag
 er;%0A%0Apub
@@ -2588,32 +2588,116 @@
 tform();%0A    %7D%0A%0A
+    public static Server getServer() %7B%0A        return getGame().getServer();%0A    %7D%0A%0A
     public stati
@@ -2831,16 +2831,13 @@
 mand
-Dispatch
+Manag
 er()

Add Sponge.getServer() Merges #991. Rename getCommandDispatcher() to getCommandManager()