package dev.crucifixbeta.mod.modules.settings;

import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;

@Environment(EnvType.CLIENT)
public class EnumConverter {
   public static int currentEnum(Enum<?> clazz) {
      for (int var1 = 0; var1 < ((Enum[])clazz.getDeclaringClass().getEnumConstants()).length; var1++) {
         Enum var2 = ((Enum[])clazz.getDeclaringClass().getEnumConstants())[var1];
         if (var2.name().equalsIgnoreCase(clazz.name())) {
            return var1;
         }
      }

      return -1;
   }

   public static Enum<?> increaseEnum(Enum<?> clazz) {
      int var1 = currentEnum(clazz);

      for (int var2 = 0; var2 < ((Enum[])clazz.getDeclaringClass().getEnumConstants()).length; var2++) {
         if (var2 == var1 + 1) {
            return ((Enum[])clazz.getDeclaringClass().getEnumConstants())[var2];
         }
      }

      return ((Enum[])clazz.getDeclaringClass().getEnumConstants())[0];
   }

   public Enum<?> get(Enum<?> clazz, String string) {
      try {
         for (int var3 = 0; var3 < ((Enum[])clazz.getDeclaringClass().getEnumConstants()).length; var3++) {
            Enum var4 = ((Enum[])clazz.getDeclaringClass().getEnumConstants())[var3];
            if (var4.name().equalsIgnoreCase(string)) {
               return var4;
            }
         }

         return null;
      } catch (IllegalArgumentException var5) {
         return null;
      }
   }
}
