package com.zerohighdef.hush; import com.zerohighdef.hush.commands.MainCommand; import com.zerohighdef.hush.listeners.HushAsyncChatListener; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.plugin.java.JavaPlugin; import java.util.LinkedList; import java.util.List; import java.util.logging.Logger; public final class Hush extends JavaPlugin { private final Logger log = Logger.getLogger("Minecraft"); private List watchLists; @Override public void onEnable() { saveDefaultConfig(); reloadConfig(); if (isEnabled()) { new HushAsyncChatListener(this); new MainCommand(this); } } @Override public void reloadConfig() { super.reloadConfig(); buildWatchLists(); } private void buildWatchLists() { watchLists = new LinkedList<>(); ConfigurationSection watchListSection = getConfig().getConfigurationSection("watch_lists"); for (String permission: watchListSection.getKeys(false)) { String banMessage = watchListSection.getString(permission + ".ban_message"); List banPatterns = watchListSection.getStringList(permission + ".ban"); List monitorPatterns = watchListSection.getStringList(permission + ".monitor"); watchLists.add(new WatchList("hush." + permission, banMessage, banPatterns, monitorPatterns)); } } public void log(String message) { log.info( "[Hush]: " + message ); } public List getWatchLists() { return watchLists; } }