예제 #1
0
  public void saveChannels() {
    List<String> l = new LinkedList<String>();

    for (Map.Entry<Channel, Boolean> entry : channels.entrySet()) {
      l.add(entry.getKey().getName());
      entry.getKey().dump();
    }

    ISMain.getChannelConfig().set("channels", l);

    try {
      ISMain.getChannelConfig().save(configFile);
    } catch (IOException ex) {
      ISMain.log("Could not save channel config: " + ex.getMessage(), 2);
    }
  }
예제 #2
0
  public ChannelManager() {
    registerChannel(new DebugChannel());

    if (!configFile.exists()) {
      try {
        configFile.getParentFile().mkdirs();
        configFile.createNewFile();
        ISMain.log(
            "No channel config found... Created new config & internally writing default channels");
      } catch (IOException ex) {
        ISMain.log("Could not create channel config file: " + ex.getMessage(), 2);
      }

      writeDefaults();
    } else {
      YamlConfiguration channelConfig = ISMain.getChannelConfig();

      try {
        channelConfig.load(configFile);
      } catch (Throwable t) {
        ISMain.log("Could not load channels: " + t.getMessage(), 2);
        writeDefaults();
      }

      List<String> _channelList = channelConfig.getStringList("channels");

      for (String _channel : _channelList) {
        ChatChannel cc = new ChatChannel(_channel);
        registerChannel(cc);
      }

      for (Map.Entry<Channel, Boolean> entry : channels.entrySet()) {
        if (((ChatChannel) entry.getKey()).isDefault()) {
          this.def = entry.getKey();
          break;
        }
      }

      for (Map.Entry<Channel, Boolean> entry : channels.entrySet()) {
        if (((ChatChannel) entry.getKey()).isHelpOp()) {
          this.helpop = entry.getKey();
          break;
        }
      }
    }

    Bukkit.getScheduler()
        .scheduleAsyncRepeatingTask(ISMain.getInstance(), new MPMThread(), 0L, 1200L);
  }
예제 #3
0
  // ChatChannel stuff
  public void removeChannel(ChatChannel channel) {
    unregisterChannel(channel);

    for (Map.Entry<String, Boolean> listener : channel.listeners.entrySet()) {
      if (listener.getValue()) {
        if (!def.hasListener(listener.getKey())) {
          def.addListener(listener.getKey(), true);
        } else {
          def.assignFocus(listener.getKey(), true);
        }
      }
    }

    List<String> l = new LinkedList<String>();

    for (Map.Entry<Channel, Boolean> entry : channels.entrySet()) {
      if (entry.getKey().getName().equals(channel.getName())) continue;

      l.add(entry.getKey().getName());
    }

    ISMain.getChannelConfig().set("channels", l);
    ISMain.getChannelConfig().set(channel.getName(), null);
  }