package modtweaker.mods.tconstruct.handlers;
import gnu.trove.map.hash.THashMap;
import minetweaker.MineTweakerAPI;
import com.blamejared.mtlib.helpers.LogHelper;
import modtweaker.mods.tconstruct.TConstructHelper;
import com.blamejared.mtlib.utils.BaseMapRemoval;
import slimeknights.tconstruct.library.modifiers.IModifier;
import stanhebben.zenscript.annotations.ZenClass;
import stanhebben.zenscript.annotations.ZenMethod;
import java.util.Map;
@ZenClass("mods.tconstruct.Modifiers")
public class Modifiers {
protected static final String name = "TConstruct Modifier";
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@ZenMethod
public static void remove(String mod) {
Map<String, IModifier> recipes = new THashMap<String, IModifier>();
for (Map.Entry<String, IModifier> ent : TConstructHelper.modifiers.entrySet()) {
if (ent.getKey().equals(mod)) {
recipes.put(ent.getKey(), ent.getValue());
}
}
if (!recipes.isEmpty()) {
MineTweakerAPI.apply(new Remove(recipes));
} else {
LogHelper.logWarning(String.format("No %s Recipe found for %s. Command ignored!", Modifiers.name, mod));
}
}
private static class Remove extends BaseMapRemoval<String, IModifier> {
public Remove(Map<String, IModifier> recipes) {
super(Modifiers.name, TConstructHelper.modifiers, recipes);
}
@Override
protected String getRecipeInfo(Map.Entry<String, IModifier> recipe) {
return recipe.getKey();
}
}
}