content: /*
   * Copyright (c) 2019-2020 5zig Reborn
   *
   * This file is part of The 5zig Mod
   * The 5zig Mod is free software: you can redistribute it and/or modify
   * it under the terms of the GNU General Public License as published by
   * the Free Software Foundation, either version 3 of the License, or
   * (at your option) any later version.
   *
   * The 5zig Mod is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   * GNU General Public License for more details.
   *
   * You should have received a copy of the GNU General Public License
   * along with The 5zig Mod.  If not, see <http://www.gnu.org/licenses/>.
   */
  
  package eu.the5zig.mod.server.octc;
  
  import eu.the5zig.mod.server.AbstractGameListener;
  import eu.the5zig.mod.server.GameMode;
  import eu.the5zig.mod.server.ServerInstance;
  
  import java.util.Locale;
  
  public class ServerInstanceOCC extends ServerInstance {
      @Override
      public void registerListeners() {
          getGameListener().registerListener(new OCCServerListener());
          getGameListener().registerListener(new OCCListener());
      }
  
      @Override
      public String getName() {
          return "Oc.tc";
      }
  
      @Override
      public String getConfigName() {
          return "octc";
      }
  
      @Override
      public boolean handleServer(String host, int port) {
          return host.toLowerCase(Locale.ROOT).endsWith("oc.tc");
      }
  
      private static class OCCServerListener extends AbstractGameListener<GameMode> {
  
          @Override
          public Class<GameMode> getGameMode() {
              return null;
          }
  
          @Override
          public boolean matchLobby(String lobby) {
              return false;
          }
  
          @Override
          public void onServerJoin() {
              getGameListener().switchLobby("Arena");
          }
      }
  }
  