// Path: src/main/java/top/dreamcity/AntiCheat/AntiCheat.java
// public class AntiCheat extends PluginBase implements AntiCheatAPI {
// 
//     private static AntiCheat instance;
//     private static MasterConfig masterConfig;
//     private PlayerCheatRecord playerCheatRecord;
//     public static HashMap<String, top.dreamcity.AntiCheat.Cheat.AntiCheat.CheatType> reportPlayer = new HashMap<>();
//     public static HashMap<String, Report> reportThread = new HashMap<>();
//     public static HashSet<String> DemoPlayer = new HashSet<>();
// 
//     public static AntiCheat getInstance() {
//         return instance;
//     }
// 
// 
//     @Override
//     public void onLoad() {
//         instance = this;
//         this.saveResource("Steve.png");
//         this.getLogger().notice("AntiCheat - Load");
//     }
// 
//     @Override
//     public void onEnable() {
// 
//         initConfig();
// 
//         initAntiThread();
// 
//         Server.getInstance().getCommandMap().register("", new ReportCommand());
// 
//         this.getServer().getPluginManager().registerEvents(new EventListener(), this);
// 
//         this.getLogger().notice("AntiCheat - Enable");
//     }
// 
//     @Override
//     public void onDisable() {
//         this.getLogger().notice("AntiCheat - Disable");
//     }
// 
//     private void initAntiThread() {
//         //this.getServer().getScheduler().scheduleRepeatingTask(new AntiSpeedThread(this),1);
//         new AntiSpeedThread();
//         new CheckChatThread();
//         new AntiFlyThread();
//         new AntiWaterWalkThread();
//     }
// 
//     private void initConfig() {
//         Config c = new Config(this.getDataFolder() + "/config.yml", Config.YAML);
//         masterConfig = new MasterConfig(c.getRootSection());
//         if (masterConfig.isEmpty()) {
//             this.getLogger().warning("The Config is empty!");
//         }
//         playerCheatRecord = new PlayerCheatRecord(new Config(this.getDataFolder() + "/record.yml", Config.YAML).getRootSection());
//     }
// 
//     @Override
//     public void addRecord(Player player, top.dreamcity.AntiCheat.Cheat.AntiCheat.CheatType cheatType) {
//         playerCheatRecord.addRecord(player, cheatType);
//     }
// 
//     @Override
//     public MasterConfig getMasterConfig() {
//         return masterConfig;
//     }
// 
// }


import cn.nukkit.Player;
import cn.nukkit.utils.Config;
import cn.nukkit.utils.ConfigSection;
import top.dreamcity.AntiCheat.AntiCheat;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

package top.dreamcity.AntiCheat.Config;



/**
 * Copyright © 2017 WetABQ&DreamCityAdminGroup All right reserved.
 * Welcome to DreamCity Server Address:dreamcity.top:19132
 * Created by WetABQ(Administrator) on 2017/10/14.
 * |||    ||    ||||                           ||        ||||||||     |||||||
 * |||   |||    |||               ||         ||  |      |||     ||   |||    |||
 * |||   |||    ||     ||||||  ||||||||     ||   ||      ||  ||||   |||      ||
 * ||  |||||   ||   |||   ||  ||||        ||| |||||     ||||||||   |        ||
 * ||  || ||  ||    ||  ||      |        |||||||| ||    ||     ||| ||      ||
 * ||||   ||||     ||    ||    ||  ||  |||       |||  ||||   |||   ||||||||
 * ||     |||      |||||||     |||||  |||       |||| ||||||||      |||||    |
 * ||||
 */
public class PlayerCheatRecord {

    private ConfigSection config;

    public PlayerCheatRecord(ConfigSection configSection) {
        config = configSection;
    }


// Path: src/main/java/top/dreamcity/AntiCheat/AntiCheat.java
// public class AntiCheat extends PluginBase implements AntiCheatAPI {
// 
//     private static AntiCheat instance;
//     private static MasterConfig masterConfig;
//     private PlayerCheatRecord playerCheatRecord;
//     public static HashMap<String, top.dreamcity.AntiCheat.Cheat.AntiCheat.CheatType> reportPlayer = new HashMap<>();
//     public static HashMap<String, Report> reportThread = new HashMap<>();
//     public static HashSet<String> DemoPlayer = new HashSet<>();
// 
//     public static AntiCheat getInstance() {
//         return instance;
//     }
// 
// 
//     @Override
//     public void onLoad() {
//         instance = this;
//         this.saveResource("Steve.png");
//         this.getLogger().notice("AntiCheat - Load");
//     }
// 
//     @Override
//     public void onEnable() {
// 
//         initConfig();
// 
//         initAntiThread();
// 
//         Server.getInstance().getCommandMap().register("", new ReportCommand());
// 
//         this.getServer().getPluginManager().registerEvents(new EventListener(), this);
// 
//         this.getLogger().notice("AntiCheat - Enable");
//     }
// 
//     @Override
//     public void onDisable() {
//         this.getLogger().notice("AntiCheat - Disable");
//     }
// 
//     private void initAntiThread() {
//         //this.getServer().getScheduler().scheduleRepeatingTask(new AntiSpeedThread(this),1);
//         new AntiSpeedThread();
//         new CheckChatThread();
//         new AntiFlyThread();
//         new AntiWaterWalkThread();
//     }
// 
//     private void initConfig() {
//         Config c = new Config(this.getDataFolder() + "/config.yml", Config.YAML);
//         masterConfig = new MasterConfig(c.getRootSection());
//         if (masterConfig.isEmpty()) {
//             this.getLogger().warning("The Config is empty!");
//         }
//         playerCheatRecord = new PlayerCheatRecord(new Config(this.getDataFolder() + "/record.yml", Config.YAML).getRootSection());
//     }
// 
//     @Override
//     public void addRecord(Player player, top.dreamcity.AntiCheat.Cheat.AntiCheat.CheatType cheatType) {
//         playerCheatRecord.addRecord(player, cheatType);
//     }
// 
//     @Override
//     public MasterConfig getMasterConfig() {
//         return masterConfig;
//     }
// 
// }


// Path: src/main/java/top/dreamcity/AntiCheat/Config/PlayerCheatRecord.java
import cn.nukkit.Player;
import cn.nukkit.utils.Config;
import cn.nukkit.utils.ConfigSection;
import top.dreamcity.AntiCheat.AntiCheat;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

package top.dreamcity.AntiCheat.Config;



/**
 * Copyright © 2017 WetABQ&DreamCityAdminGroup All right reserved.
 * Welcome to DreamCity Server Address:dreamcity.top:19132
 * Created by WetABQ(Administrator) on 2017/10/14.
 * |||    ||    ||||                           ||        ||||||||     |||||||
 * |||   |||    |||               ||         ||  |      |||     ||   |||    |||
 * |||   |||    ||     ||||||  ||||||||     ||   ||      ||  ||||   |||      ||
 * ||  |||||   ||   |||   ||  ||||        ||| |||||     ||||||||   |        ||
 * ||  || ||  ||    ||  ||      |        |||||||| ||    ||     ||| ||      ||
 * ||||   ||||     ||    ||    ||  ||  |||       |||  ||||   |||   ||||||||
 * ||     |||      |||||||     |||||  |||       |||| ||||||||      |||||    |
 * ||||
 */
public class PlayerCheatRecord {

    private ConfigSection config;

    public PlayerCheatRecord(ConfigSection configSection) {
        config = configSection;
    }


    public void addRecord(Player player, top.dreamcity.AntiCheat.Cheat.AntiCheat.CheatType cheatType) {
