context: /*
  	Copyright 2010 MCSharp team (Modified for use with MCZall/MCLawl/MCForge)
  
  	Dual-licensed under the	Educational Community License, Version 2.0 and
  	the GNU General Public License, Version 3 (the "Licenses"); you may
  	not use this file except in compliance with the Licenses. You may
  	obtain a copy of the Licenses at
  	
  	http://www.opensource.org/licenses/ecl2.php
  	http://www.gnu.org/licenses/gpl-3.0.html
  	
  	Unless required by applicable law or agreed to in writing,
  	software distributed under the Licenses are distributed on an "AS IS"
  	BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
  	or implied. See the Licenses for the specific language governing
  	permissions and limitations under the Licenses.
  */
  using System;
  using System.Collections.Generic;
  using MCForge.Commands;
  
  namespace MCForge
  {
      public abstract class Command
      {
          public abstract string name { get; }
          public abstract string shortcut { get; }
          public abstract string type { get; }
          public abstract bool museumUsable { get; }
          public abstract LevelPermission defaultRank { get; }
          public abstract void Use(Player p, string message);
          public abstract void Help(Player p);
          public bool isIntervalized;
          public int intervalInMinutes;
          public DateTime nextExecution;
          public Player intervalUsingPlayer;
  
          public static CommandList all = new CommandList();
          public static CommandList core = new CommandList();
          public static void InitAll()
          {
              all.Add(new CmdAbort());
              all.Add(new CmdAbout());
              all.Add(new CmdAdminChat());
              all.Add(new CmdAllowGuns());
              all.Add(new CmdAfk());
              all.Add(new CmdAka());
              all.Add(new CmdAlive());
              all.Add(new CmdAgree());
              all.Add(new CmdAward());
              all.Add(new CmdAwards());
              all.Add(new CmdAwardMod());
              all.Add(new CmdBan());
              all.Add(new CmdBanip());
              all.Add(new CmdBind());
              all.Add(new CmdBlocks());
              all.Add(new CmdBlockSet());
              all.Add(new CmdBotAdd());
              all.Add(new CmdBotAI());
              all.Add(new CmdBotRemove());
              all.Add(new CmdBots());
              all.Add(new CmdBotSet());
              all.Add(new CmdBotSummon());
              all.Add(new CmdCalculate());
  			all.Add(new CmdChain());
              all.Add(new CmdChangeLog());
              all.Add(new CmdChatRoom());
              all.Add(new CmdClearBlockChanges());
              all.Add(new CmdClick());
              all.Add(new CmdClones());
              all.Add(new CmdCmdBind());
              all.Add(new CmdCmdCreate());
              all.Add(new CmdCmdLoad());
              all.Add(new CmdCmdSet());
              all.Add(new CmdCmdUnload());
              all.Add(new CmdCompile());
              all.Add(new CmdCompLoad());
              all.Add(new CmdColor());
              all.Add(new CmdCopy());
              all.Add(new CmdCopyLVL());
  			all.Add(new CmdCountdown());
              all.Add(new CmdCrashServer());
              all.Add(new CmdCTF());
              all.Add(new CmdCuboid());
              all.Add(new CmdDelete());
              all.Add(new CmdDeleteLvl());
              all.Add(new CmdDemote());
              all.Add(new CmdDevs());
              all.Add(new CmdDisagree());
              all.Add(new CmdDisInfect());
              all.Add(new CmdDraw());
              all.Add(new CmdDrill());
              all.Add(new CmdDrop());
              all.Add(new CmdEconomy());
              all.Add(new CmdEmote());
              all.Add(new CmdEndRound());
              all.Add(new CmdExplode());
  			all.Add(new CmdFakePay());
              all.Add(new CmdFakeRank());
              all.Add(new CmdFaq());
              all.Add(new CmdFetch());
              all.Add(new CmdFill());
              all.Add(new CmdFixGrass());
              all.Add(new CmdFlipHead());
              all.Add(new CmdFlipHeads());
              all.Add(new CmdFly());
              all.Add(new CmdFollow());
              all.Add(new CmdFreeze());
              all.Add(new CmdGameStatus());
              all.Add(new CmdGifToCin());
              all.Add(new CmdGive());
              all.Add(new CmdGlobalCLS());
              all.Add(new CmdGoto());
              all.Add(new CmdGun());
              all.Add(new CmdHackRank());
              all.Add(new CmdHacks());
              all.Add(new CmdHasirc());
              // all.Add(new CmdHeartbeat()); DEBUG COMMAND DO NOT USE
              all.Add(new CmdHelp());
              all.Add(new CmdHide());
  			all.Add(new CmdHigh5());
              all.Add(new CmdHighlight());
              all.Add(new CmdHollow());
              all.Add(new CmdHost());
              all.Add(new CmdIgnore());
              all.Add(new CmdImpersonate());
              all.Add(new CmdImport());
              all.Add(new CmdImageprint());
              all.Add(new CmdInbox());
              all.Add(new CmdInfect());
              all.Add(new CmdInfected());
              all.Add(new CmdInfectmessage());
              all.Add(new CmdInfo());
              all.Add(new CmdInvincible());
              all.Add(new CmdJail());
              all.Add(new CmdJoker());
              all.Add(new CmdKick());
              all.Add(new CmdKickAll());
              all.Add(new CmdKickban());
              all.Add(new CmdKill());
              all.Add(new CmdKillPhysics());
              all.Add(new CmdLastCmd());
              all.Add(new CmdLavaSurvival());
              all.Add(new CmdLevels());
              all.Add(new CmdLimit());
              all.Add(new CmdLine());
              all.Add(new CmdLoad());
              all.Add(new CmdLockdown());
              all.Add(new CmdLoginMessage());
              all.Add(new CmdLogoutMessage());
              all.Add(new CmdLowlag());
              all.Add(new CmdMain());
              all.Add(new CmdMap());
              all.Add(new CmdMapInfo());
              all.Add(new CmdMaze());
              all.Add(new CmdMe());
              all.Add(new CmdMeasure());
              all.Add(new CmdMegaboid());
              all.Add(new CmdMessageBlock());
              all.Add(new CmdMissile());
              all.Add(new CmdMode());
              all.Add(new CmdModerate());
              all.Add(new CmdMoney());
              all.Add(new CmdMove());
              all.Add(new CmdMoveAll());
              all.Add(new CmdMuseum());
              all.Add(new CmdMute());
              all.Add(new CmdNewLvl());
  			all.Add(new CmdNews());
  			all.Add(new CmdOHide());
              all.Add(new CmdOpChat());
              all.Add(new CmdOpRules());
              all.Add(new CmdOutline());
              all.Add(new CmdOverseer());
              all.Add(new CmdOZone());
              all.Add(new CmdP2P());
              all.Add(new pload());
              all.Add(new pcreate());
              all.Add(new punload());
              all.Add(new CmdPaint());
              all.Add(new CmdPass());
              all.Add(new CmdPaste());
              all.Add(new CmdPatrol());
              all.Add(new CmdPause());
              all.Add(new CmdPay());
              all.Add(new CmdPlayerBlock());
              all.Add(new CmdpCinema());
              all.Add(new CmdpCinema2());
              all.Add(new CmdPCount());
              all.Add(new CmdPerbuildMax());
              all.Add(new CmdPermissionBuild());
              all.Add(new CmdPermissionVisit());
              all.Add(new CmdPervisitMax());
              all.Add(new CmdPhysics());
              all.Add(new CmdPlace());
              all.Add(new CmdPlayerCLS());
              all.Add(new CmdPlayers());
              all.Add(new CmdPortal());
              all.Add(new CmdPossess());
              all.Add(new CmdPromote());
              all.Add(new CmdPyramid());
              all.Add(new CmdQueue());
              all.Add(new CmdQuick());
  			all.Add(new CmdRagequit());
              all.Add(new CmdRainbow());
              all.Add(new CmdRankMsg());
              all.Add(new CmdRedo());
              all.Add(new CmdReload());
              all.Add(new CmdReferee());
              all.Add(new CmdRenameLvl());
              all.Add(new CmdRepeat());
              all.Add(new CmdReplace());
              all.Add(new CmdReplaceAll());
              all.Add(new CmdReplaceNot());
              all.Add(new CmdReport());
              all.Add(new CmdResetBot());
              all.Add(new CmdResetPass());
              all.Add(new CmdRestart());
              all.Add(new CmdRestartPhysics());
              all.Add(new CmdRestore());
              all.Add(new CmdRetrieve());
              all.Add(new CmdReveal());
  			all.Add(new CmdReview());
              all.Add(new CmdRide());
              all.Add(new CmdRoll());
              all.Add(new CmdRules());
              all.Add(new CmdSave());
              all.Add(new CmdSay());
              all.Add(new CmdSCinema());
              all.Add(new CmdSeen());
              all.Add(new CmdSend());
              all.Add(new CmdSendCmd());
              all.Add(new CmdServerReport());
              all.Add(new CmdSetPass());
              all.Add(new CmdSetRank());
              all.Add(new CmdSetspawn());
              all.Add(new CmdShank());
              all.Add(new CmdShutdown());
              all.Add(new CmdSlap());
              all.Add(new CmdSpawn());
              all.Add(new CmdSpheroid());
              all.Add(new CmdSpin());
              all.Add(new CmdSPlace());
              all.Add(new CmdStairs());
              all.Add(new CmdStatic());
              all.Add(new CmdStore());
              all.Add(new CmdSummon());
              all.Add(new CmdTake());
              all.Add(new CmdTColor());
              all.Add(new CmdTeam());
              all.Add(new CmdTempBan());
              all.Add(new CmdText());
              all.Add(new CmdTime());
              all.Add(new CmdTimer());
              all.Add(new CmdTitle());
              all.Add(new CmdTnt());
              all.Add(new CmdTopTen());
              all.Add(new CmdTp());
              all.Add(new CmdTpZone());
              all.Add(new CmdTree());
              all.Add(new CmdTrust());
              all.Add(new CmdUBan());
              all.Add(new CmdUnban());
              all.Add(new CmdUnbanip());
              all.Add(new CmdUndo());
              all.Add(new CmdUnflood());
              all.Add(new CmdUnload());
              all.Add(new CmdUnloaded());
              all.Add(new CmdUnStick());
              all.Add(new CmdUnlock());
              all.Add(new CmdUpdate());
              all.Add(new CmdView());
              all.Add(new CmdViewRanks());
              all.Add(new CmdVoice());
              all.Add(new CmdVote());
              all.Add(new CmdVoteKick());
              all.Add(new CmdVoteResults());
              all.Add(new CmdWarn());
              all.Add(new CmdWaypoint());
              all.Add(new CmdWhisper());
              if (Server.useWhitelist) { all.Add(new CmdWhitelist()); }
              all.Add(new CmdWhoip());
              all.Add(new CmdWhois());
              all.Add(new CmdWhowas());
              all.Add(new CmdWrite());
              all.Add(new CmdXban());
  			all.Add(new CmdXhide());
              all.Add(new CmdXJail());
  			all.Add(new CmdXmute());
              all.Add(new CmdXspawn());
              all.Add(new CmdXundo());
              all.Add(new CmdZone());
              all.Add(new CmdZombieGame());
              all.Add(new CmdZombieSpawn());
              all.Add(new CmdZz());
  
gt:             core.commands = new List<Command>(all.commands);