// Path: src/main/java/net/spellcraftgaming/rpghud/gui/hud/element/HudElementType.java
// @Environment(EnvType.CLIENT)
// public enum HudElementType {
//     VOID("name.void"),
//     HOTBAR("name.hotbar"),
//     HEALTH("name.health"),
//     ARMOR("name.armor"),
//     FOOD("name.food"),
//     HEALTH_MOUNT("name.health_mount"),
//     AIR("name.air"),
//     JUMP_BAR("name.jump_bar"),
//     EXPERIENCE("name.experience"),
//     LEVEL("name.level"),
//     CLOCK("name.clock"),
//     DETAILS("name.details"),
//     WIDGET("name.widget"),
//     COMPASS("name.compass"),
//     ENTITY_INSPECT("name.entity_inspect"),
//     STATUS_EFFECTS("name.status_effects");
// 
// 	private String displayName;
// 
// 	private HudElementType(String displayName) {
// 		this.displayName = displayName;
// 	}
// 
//     public String getDisplayName() {
//         return I18n.translate(this.displayName);
//     }
// }
// 
// Path: src/main/java/net/spellcraftgaming/rpghud/main/ModRPGHud.java
// @Environment(EnvType.CLIENT)
// 
// public class ModRPGHud implements ClientModInitializer{
//     public final String MODID = "rpg-hud";
// 
// 	public static ModRPGHud instance;
//     
// 	public static boolean[] renderDetailsAgain = { false, false, false };
// 
// 	public static int screenOffset = 0;
// 	
// 	public Settings settings;
// 
// 	/** Map of all registered HUDs */
// 	public Map<String, Hud> huds = new LinkedHashMap<String, Hud>();
// 	
//     public void onInitializeClient()
//     {
//         instance = this;
// 		this.settings = new Settings();
// 		this.registerHud(new HudVanilla(MinecraftClient.getInstance(), "vanilla", "Vanilla"));
// 		this.registerHud(new HudSimple(MinecraftClient.getInstance(), "simple", "Simplified"));
// 		this.registerHud(new HudDefault(MinecraftClient.getInstance(), "default", "Default"));
// 		this.registerHud(new HudExtendedWidget(MinecraftClient.getInstance(), "extended", "Extended Widget"));
// 		this.registerHud(new HudFullTexture(MinecraftClient.getInstance(), "texture", "Full Texture"));
// 		//this.registerHud(new HudHotbarWidget(MinecraftClient.getInstance(), "hotbar", "Hotbar Widget"));
// 		this.registerHud(new HudModern(MinecraftClient.getInstance(), "modern", "Modern Style"));
// 
// 		if (!isHudKeyValid(this.settings.getStringValue(Settings.hud_type))) {
// 			this.settings.setSetting(Settings.hud_type, "vanilla");
// 		}
//         new RenderOverlay();
//         if (isClass("io.github.prospector.modmenu.ModMenu")) screenOffset = 12;
//     }
//     
// 	/**
// 	 * Register a new HUD
// 	 * 
// 	 * @param hud
// 	 *            the hud to be registered
// 	 */
// 	public void registerHud(Hud hud) {
// 		this.huds.put(hud.getHudKey(), hud);
// 	}
// 
// 	/** Returns the active HUD */
// 	public Hud getActiveHud() {
// 		return this.huds.get(this.settings.getStringValue(Settings.hud_type));
// 	}
// 
// 	/** Returns the vanilla HUD */
// 	public Hud getVanillaHud() {
// 		return this.huds.get("vanilla");
// 	}
// 
// 	public boolean isVanillaHud() {
// 	    return this.settings.getStringValue(Settings.hud_type) == "vanilla";
// 	}
// 	
// 	/** Checks if a Hud with the specified key is registered */
// 	public boolean isHudKeyValid(String key) {
// 		return this.huds.containsKey(key);
// 	}
// 	
// 	public static boolean isClass(String className) {
// 	    try  {
// 	        Class.forName(className);
// 	        return true;
// 	    }  catch (ClassNotFoundException e) {
// 	        return false;
// 	    }
// 	}
// }


import java.util.Set;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.spellcraftgaming.rpghud.gui.hud.element.HudElementType;
import net.spellcraftgaming.rpghud.main.ModRPGHud;

package net.spellcraftgaming.rpghud.settings;



@Environment(EnvType.CLIENT)
public class SettingHudType extends Setting {

	public final String defaultValue;
	public String value;

	public SettingHudType(String ID, String value) {
		super(ID);
		this.defaultValue = value;
		this.value = this.defaultValue;
	}
	
	public SettingHudType(String ID, HudElementType type, int defaultValueId) {
		super(ID, type);
		this.defaultValue = this.value;
		this.value = this.defaultValue;
	}

	@Override
	public void increment() {

// Path: src/main/java/net/spellcraftgaming/rpghud/gui/hud/element/HudElementType.java
// @Environment(EnvType.CLIENT)
// public enum HudElementType {
//     VOID("name.void"),
//     HOTBAR("name.hotbar"),
//     HEALTH("name.health"),
//     ARMOR("name.armor"),
//     FOOD("name.food"),
//     HEALTH_MOUNT("name.health_mount"),
//     AIR("name.air"),
//     JUMP_BAR("name.jump_bar"),
//     EXPERIENCE("name.experience"),
//     LEVEL("name.level"),
//     CLOCK("name.clock"),
//     DETAILS("name.details"),
//     WIDGET("name.widget"),
//     COMPASS("name.compass"),
//     ENTITY_INSPECT("name.entity_inspect"),
//     STATUS_EFFECTS("name.status_effects");
// 
// 	private String displayName;
// 
// 	private HudElementType(String displayName) {
// 		this.displayName = displayName;
// 	}
// 
//     public String getDisplayName() {
//         return I18n.translate(this.displayName);
//     }
// }
// 
// Path: src/main/java/net/spellcraftgaming/rpghud/main/ModRPGHud.java
// @Environment(EnvType.CLIENT)
// 
// public class ModRPGHud implements ClientModInitializer{
//     public final String MODID = "rpg-hud";
// 
// 	public static ModRPGHud instance;
//     
// 	public static boolean[] renderDetailsAgain = { false, false, false };
// 
// 	public static int screenOffset = 0;
// 	
// 	public Settings settings;
// 
// 	/** Map of all registered HUDs */
// 	public Map<String, Hud> huds = new LinkedHashMap<String, Hud>();
// 	
//     public void onInitializeClient()
//     {
//         instance = this;
// 		this.settings = new Settings();
// 		this.registerHud(new HudVanilla(MinecraftClient.getInstance(), "vanilla", "Vanilla"));
// 		this.registerHud(new HudSimple(MinecraftClient.getInstance(), "simple", "Simplified"));
// 		this.registerHud(new HudDefault(MinecraftClient.getInstance(), "default", "Default"));
// 		this.registerHud(new HudExtendedWidget(MinecraftClient.getInstance(), "extended", "Extended Widget"));
// 		this.registerHud(new HudFullTexture(MinecraftClient.getInstance(), "texture", "Full Texture"));
// 		//this.registerHud(new HudHotbarWidget(MinecraftClient.getInstance(), "hotbar", "Hotbar Widget"));
// 		this.registerHud(new HudModern(MinecraftClient.getInstance(), "modern", "Modern Style"));
// 
// 		if (!isHudKeyValid(this.settings.getStringValue(Settings.hud_type))) {
// 			this.settings.setSetting(Settings.hud_type, "vanilla");
// 		}
//         new RenderOverlay();
//         if (isClass("io.github.prospector.modmenu.ModMenu")) screenOffset = 12;
//     }
//     
// 	/**
// 	 * Register a new HUD
// 	 * 
// 	 * @param hud
// 	 *            the hud to be registered
// 	 */
// 	public void registerHud(Hud hud) {
// 		this.huds.put(hud.getHudKey(), hud);
// 	}
// 
// 	/** Returns the active HUD */
// 	public Hud getActiveHud() {
// 		return this.huds.get(this.settings.getStringValue(Settings.hud_type));
// 	}
// 
// 	/** Returns the vanilla HUD */
// 	public Hud getVanillaHud() {
// 		return this.huds.get("vanilla");
// 	}
// 
// 	public boolean isVanillaHud() {
// 	    return this.settings.getStringValue(Settings.hud_type) == "vanilla";
// 	}
// 	
// 	/** Checks if a Hud with the specified key is registered */
// 	public boolean isHudKeyValid(String key) {
// 		return this.huds.containsKey(key);
// 	}
// 	
// 	public static boolean isClass(String className) {
// 	    try  {
// 	        Class.forName(className);
// 	        return true;
// 	    }  catch (ClassNotFoundException e) {
// 	        return false;
// 	    }
// 	}
// }


// Path: src/main/java/net/spellcraftgaming/rpghud/settings/SettingHudType.java
import java.util.Set;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.spellcraftgaming.rpghud.gui.hud.element.HudElementType;
import net.spellcraftgaming.rpghud.main.ModRPGHud;

package net.spellcraftgaming.rpghud.settings;



@Environment(EnvType.CLIENT)
public class SettingHudType extends Setting {

	public final String defaultValue;
	public String value;

	public SettingHudType(String ID, String value) {
		super(ID);
		this.defaultValue = value;
		this.value = this.defaultValue;
	}
	
	public SettingHudType(String ID, HudElementType type, int defaultValueId) {
		super(ID, type);
		this.defaultValue = this.value;
		this.value = this.defaultValue;
	}

	@Override
	public void increment() {

		Set<String> huds = ModRPGHud.instance.huds.keySet();
