<commit_before>/*
 * Copyright  2014 - 2017 | Wurst-Imperium | All rights reserved.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 */
package net.wurstclient.features.mods;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
import java.util.Arrays;

import net.minecraft.client.Minecraft;
import net.minecraft.crash.CrashReport;
import net.minecraft.crash.CrashReportCategory;
import net.minecraft.crash.ICrashReportDetail;
import net.minecraft.util.ReportedException;
import net.wurstclient.WurstClient;
import net.wurstclient.features.Feature;
import net.wurstclient.features.special_features.YesCheatSpf.BypassLevel;
import net.wurstclient.navigator.PossibleKeybind;
import net.wurstclient.settings.Setting;
import net.wurstclient.utils.ChatUtils;

public class Mod implements Feature
{
	private final String name = getClass().getAnnotation(Info.class).name();
	private final String description =
		getClass().getAnnotation(Info.class).description();
	private final String tags = getClass().getAnnotation(Info.class).tags();
	private final String help = getClass().getAnnotation(Info.class).help();
	private final Bypasses bypasses = getClass().getAnnotation(Bypasses.class);
	private boolean enabled;
	private boolean blocked;
	private boolean active;
	protected ArrayList<Setting> settings = new ArrayList<>();
	private long currentMS = 0L;
	protected long lastMS = -1L;
	
	protected static final WurstClient wurst = WurstClient.INSTANCE;
	protected static final Minecraft mc = Minecraft.getMinecraft();
	
	@Retention(RetentionPolicy.RUNTIME)
	public @interface Info<commit_msg>Add abstract modifier to Mod<commit_after>/*
 * Copyright  2014 - 2017 | Wurst-Imperium | All rights reserved.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 */
package net.wurstclient.features.mods;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.ArrayList;
import java.util.Arrays;

import net.minecraft.client.Minecraft;
import net.minecraft.crash.CrashReport;
import net.minecraft.crash.CrashReportCategory;
import net.minecraft.crash.ICrashReportDetail;
import net.minecraft.util.ReportedException;
import net.wurstclient.WurstClient;
import net.wurstclient.features.Feature;
import net.wurstclient.features.special_features.YesCheatSpf.BypassLevel;
import net.wurstclient.navigator.PossibleKeybind;
import net.wurstclient.settings.Setting;
import net.wurstclient.utils.ChatUtils;

public abstract class Mod implements Feature
{
	private final String name = getClass().getAnnotation(Info.class).name();
	private final String description =
		getClass().getAnnotation(Info.class).description();
	private final String tags = getClass().getAnnotation(Info.class).tags();
	private final String help = getClass().getAnnotation(Info.class).help();
	private final Bypasses bypasses = getClass().getAnnotation(Bypasses.class);
	private boolean enabled;
	private boolean blocked;
	private boolean active;
	protected ArrayList<Setting> settings = new ArrayList<>();
	private long currentMS = 0L;
	protected long lastMS = -1L;
	
	protected static final WurstClient wurst = WurstClient.INSTANCE;
	protected static final Minecraft mc = Minecraft.getMinecraft();
	
	@Retention(RetentionPolicy.RUNTIME)
	public @interface Info
{'fraction_non_alphanumeric': 0.09691629955947137, 'fraction_numerical': 0.007709251101321586, 'mean_word_length': 5.581521739130435, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6877221', 'n_tokens_mistral': 1075, 'n_tokens_neox': 1069, 'n_words': 288}