// Path: src/main/java/net/mcft/copy/backpacks/WearableBackpacks.java
// @Mod(modid = WearableBackpacks.MOD_ID, name = WearableBackpacks.MOD_NAME,
//      version = WearableBackpacks.VERSION, dependencies = "required-after:forge@[14.21.0.2375,)",
//      guiFactory = "net.mcft.copy.backpacks.client.BackpacksGuiFactory")
// public class WearableBackpacks {
// 	
// 	public static final String MOD_ID   = "wearablebackpacks";
// 	public static final String MOD_NAME = "Wearable Backpacks";
// 	public static final String VERSION  = "@VERSION@";
// 	
// 	@Instance
// 	public static WearableBackpacks INSTANCE;
// 	
// 	@SidedProxy(serverSide = "net.mcft.copy.backpacks.ProxyCommon",
// 	            clientSide = "net.mcft.copy.backpacks.ProxyClient")
// 	public static ProxyCommon PROXY;
// 	
// 	public static Logger LOG;
// 	public static BackpacksChannel CHANNEL;
// 	public static BackpacksConfig CONFIG;
// 	public static BackpacksContent CONTENT;
// 	
// 	@EventHandler
// 	public void preInit(FMLPreInitializationEvent event) {
// 		LOG = event.getModLog();
// 		CHANNEL = new BackpacksChannel();
// 		
// 		CONFIG = new BackpacksConfig(event.getSuggestedConfigurationFile());
// 		CONFIG.load();
// 		CONFIG.save();
// 		
// 		CONTENT = new BackpacksContent();
// 		CONTENT.registerRecipes();
// 		
// 		PROXY.preInit();
// 	}
// 	
// 	@EventHandler
// 	public void init(FMLInitializationEvent event) {
// 		CONFIG.init();
// 		PROXY.init();
// 	}
// 	
// }


import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
import net.minecraft.client.resources.I18n;
import net.minecraftforge.fml.client.config.GuiUtils;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.mcft.copy.backpacks.WearableBackpacks;
package net.mcft.copy.backpacks.config;





/** Represent a status about a setting or its
 *  config GUI entry: A hint, warning or error. */
public class Status {
	
	public static final Status NONE = FINE();
	public static final Status EMPTY = ERROR();
	public static final Status INVALID = ERROR();
	public static Status OUT_OF_RANGE(Object min, Object max)
		{ return ERROR("general", "outOfRange", min, max); }
	public static Status REQUIRED(Setting<?> value)
		{ return ERROR("general", "required", value.getFullName()); }
	public static Status RECOMMENDED(Setting<?> value, String key)
		{ return HINT("general", key, value.getFullName()); }
	
	
	public final Severity severity;
	private final String _translateKey;
	private final Object[] _translateParams;
	
	private Status(Severity severity, String translateKey, Object[] translateParams)
		{ this.severity = severity; _translateKey = translateKey; _translateParams = translateParams; }
	
	
	private static Status constructStatus(Severity severity, String category, String key, Object... args)
// Path: src/main/java/net/mcft/copy/backpacks/WearableBackpacks.java
// @Mod(modid = WearableBackpacks.MOD_ID, name = WearableBackpacks.MOD_NAME,
//      version = WearableBackpacks.VERSION, dependencies = "required-after:forge@[14.21.0.2375,)",
//      guiFactory = "net.mcft.copy.backpacks.client.BackpacksGuiFactory")
// public class WearableBackpacks {
// 	
// 	public static final String MOD_ID   = "wearablebackpacks";
// 	public static final String MOD_NAME = "Wearable Backpacks";
// 	public static final String VERSION  = "@VERSION@";
// 	
// 	@Instance
// 	public static WearableBackpacks INSTANCE;
// 	
// 	@SidedProxy(serverSide = "net.mcft.copy.backpacks.ProxyCommon",
// 	            clientSide = "net.mcft.copy.backpacks.ProxyClient")
// 	public static ProxyCommon PROXY;
// 	
// 	public static Logger LOG;
// 	public static BackpacksChannel CHANNEL;
// 	public static BackpacksConfig CONFIG;
// 	public static BackpacksContent CONTENT;
// 	
// 	@EventHandler
// 	public void preInit(FMLPreInitializationEvent event) {
// 		LOG = event.getModLog();
// 		CHANNEL = new BackpacksChannel();
// 		
// 		CONFIG = new BackpacksConfig(event.getSuggestedConfigurationFile());
// 		CONFIG.load();
// 		CONFIG.save();
// 		
// 		CONTENT = new BackpacksContent();
// 		CONTENT.registerRecipes();
// 		
// 		PROXY.preInit();
// 	}
// 	
// 	@EventHandler
// 	public void init(FMLInitializationEvent event) {
// 		CONFIG.init();
// 		PROXY.init();
// 	}
// 	
// }


// Path: src/main/java/net/mcft/copy/backpacks/config/Status.java
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
import net.minecraft.client.resources.I18n;
import net.minecraftforge.fml.client.config.GuiUtils;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.mcft.copy.backpacks.WearableBackpacks;

package net.mcft.copy.backpacks.config;





/** Represent a status about a setting or its
 *  config GUI entry: A hint, warning or error. */
public class Status {
	
	public static final Status NONE = FINE();
	public static final Status EMPTY = ERROR();
	public static final Status INVALID = ERROR();
	public static Status OUT_OF_RANGE(Object min, Object max)
		{ return ERROR("general", "outOfRange", min, max); }
	public static Status REQUIRED(Setting<?> value)
		{ return ERROR("general", "required", value.getFullName()); }
	public static Status RECOMMENDED(Setting<?> value, String key)
		{ return HINT("general", key, value.getFullName()); }
	
	
	public final Severity severity;
	private final String _translateKey;
	private final Object[] _translateParams;
	
	private Status(Severity severity, String translateKey, Object[] translateParams)
		{ this.severity = severity; _translateKey = translateKey; _translateParams = translateParams; }
	
	
	private static Status constructStatus(Severity severity, String category, String key, Object... args)
		{ return new Status(severity, "config." + WearableBackpacks.MOD_ID + "." + category + ".status." + key, args); }