// Path: src/main/java/com/legobmw99/allomancy/api/enums/Metal.java
// public enum Metal {
//     IRON(true),
//     STEEL,
//     TIN,
//     PEWTER,
//     ZINC,
//     BRASS,
//     COPPER(true),
//     BRONZE,
//     ALUMINUM,
//     DURALUMIN,
//     CHROMIUM,
//     NICROSIL,
//     GOLD(true),
//     ELECTRUM,
//     CADMIUM,
//     BENDALLOY;
// 
// 
//     private final boolean vanilla;
// 
//     Metal() {
//         this(false);
//     }
// 
//     Metal(boolean isVanilla) {
//         this.vanilla = isVanilla;
//     }
// 
//     public static Metal getMetal(int index) {
//         for (Metal metal : values()) {
//             if (metal.getIndex() == index) {
//                 return metal;
//             }
//         }
//         throw new IllegalArgumentException("Allomancy: Bad Metal Index");
//     }
// 
//     public boolean isVanilla() {
//         return this.vanilla;
//     }
// 
//     public String getName() {
//         return name().toLowerCase(Locale.ROOT);
//     }
// 
//     public int getIndex() {
//         return ordinal();
//     }
// 
// 
// }


import com.legobmw99.allomancy.api.enums.Metal;
import com.mojang.brigadier.StringReader;
import com.mojang.brigadier.arguments.ArgumentType;
import com.mojang.brigadier.context.CommandContext;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import com.mojang.brigadier.exceptions.DynamicCommandExceptionType;
import com.mojang.brigadier.suggestion.Suggestions;
import com.mojang.brigadier.suggestion.SuggestionsBuilder;
import net.minecraft.commands.SharedSuggestionProvider;
import net.minecraft.network.chat.TranslatableComponent;
import java.util.Arrays;
import java.util.Collection;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
package com.legobmw99.allomancy.modules.powers.command;



public class AllomancyPowerType implements ArgumentType<String> {

    public static final AllomancyPowerType INSTANCE = new AllomancyPowerType();
// Path: src/main/java/com/legobmw99/allomancy/api/enums/Metal.java
// public enum Metal {
//     IRON(true),
//     STEEL,
//     TIN,
//     PEWTER,
//     ZINC,
//     BRASS,
//     COPPER(true),
//     BRONZE,
//     ALUMINUM,
//     DURALUMIN,
//     CHROMIUM,
//     NICROSIL,
//     GOLD(true),
//     ELECTRUM,
//     CADMIUM,
//     BENDALLOY;
// 
// 
//     private final boolean vanilla;
// 
//     Metal() {
//         this(false);
//     }
// 
//     Metal(boolean isVanilla) {
//         this.vanilla = isVanilla;
//     }
// 
//     public static Metal getMetal(int index) {
//         for (Metal metal : values()) {
//             if (metal.getIndex() == index) {
//                 return metal;
//             }
//         }
//         throw new IllegalArgumentException("Allomancy: Bad Metal Index");
//     }
// 
//     public boolean isVanilla() {
//         return this.vanilla;
//     }
// 
//     public String getName() {
//         return name().toLowerCase(Locale.ROOT);
//     }
// 
//     public int getIndex() {
//         return ordinal();
//     }
// 
// 
// }


// Path: src/main/java/com/legobmw99/allomancy/modules/powers/command/AllomancyPowerType.java
import com.legobmw99.allomancy.api.enums.Metal;
import com.mojang.brigadier.StringReader;
import com.mojang.brigadier.arguments.ArgumentType;
import com.mojang.brigadier.context.CommandContext;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import com.mojang.brigadier.exceptions.DynamicCommandExceptionType;
import com.mojang.brigadier.suggestion.Suggestions;
import com.mojang.brigadier.suggestion.SuggestionsBuilder;
import net.minecraft.commands.SharedSuggestionProvider;
import net.minecraft.network.chat.TranslatableComponent;
import java.util.Arrays;
import java.util.Collection;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;

package com.legobmw99.allomancy.modules.powers.command;



public class AllomancyPowerType implements ArgumentType<String> {

    public static final AllomancyPowerType INSTANCE = new AllomancyPowerType();
    private static final Set<String> types = Arrays.stream(Metal.values()).map(Metal::getName).collect(Collectors.toSet());