// Path: src/main/java/mods/belgabor/amtweaker/helpers/StackHelper.java
// public static boolean areEqual(ItemStack stack, ItemStack stack2) {
//     return !(stack == null || stack2 == null) && stack.isItemEqual(stack2);
// }


import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
import shift.mceconomy2.ShopManager;
import shift.mceconomy2.api.MCEconomyAPI;
import shift.mceconomy2.api.purchase.IPurchaseItem;
import shift.mceconomy2.api.purchase.PurchaseItemStack;
import shift.mceconomy2.api.purchase.PurchaseOreDictionary;
import shift.mceconomy2.api.shop.IProduct;
import shift.mceconomy2.api.shop.IShop;
import shift.mceconomy2.api.shop.ShopAdapter;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import static mods.belgabor.amtweaker.helpers.StackHelper.areEqual;

    public static int getPurchaseOreDictionary_oreId(PurchaseOreDictionary item) {
        try {
            return (int) PurchaseOreDictionary_oreId.get(item);
        } catch (IllegalAccessException | ClassCastException e) {
            return -999;
        }
    }

    public static int getPurchaseOreDictionary_price(PurchaseOreDictionary item) {
        try {
            return (int) PurchaseOreDictionary_price.get(item);
        } catch (IllegalAccessException | ClassCastException e) {
            return -999;
        }
    }

    private static IPurchaseItem findPurchaseItemOre(int oreId) {
        for(IPurchaseItem theItem: purchaseItems) {
            if (theItem instanceof PurchaseOreDictionary) {
                if (oreId == getPurchaseOreDictionary_oreId((PurchaseOreDictionary) theItem))
                    return theItem;
            }
        }
        return null;
    }

    private static IPurchaseItem findPurchaseItemItem(ItemStack item) {
        for(IPurchaseItem theItem: purchaseItems) {
            if (theItem instanceof PurchaseItemStack) {
// Path: src/main/java/mods/belgabor/amtweaker/helpers/StackHelper.java
// public static boolean areEqual(ItemStack stack, ItemStack stack2) {
//     return !(stack == null || stack2 == null) && stack.isItemEqual(stack2);
// }


// Path: src/main/java/mods/belgabor/amtweaker/mods/mce/util/MCEAccessHelper.java
import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
import shift.mceconomy2.ShopManager;
import shift.mceconomy2.api.MCEconomyAPI;
import shift.mceconomy2.api.purchase.IPurchaseItem;
import shift.mceconomy2.api.purchase.PurchaseItemStack;
import shift.mceconomy2.api.purchase.PurchaseOreDictionary;
import shift.mceconomy2.api.shop.IProduct;
import shift.mceconomy2.api.shop.IShop;
import shift.mceconomy2.api.shop.ShopAdapter;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
import static mods.belgabor.amtweaker.helpers.StackHelper.areEqual;


    public static int getPurchaseOreDictionary_oreId(PurchaseOreDictionary item) {
        try {
            return (int) PurchaseOreDictionary_oreId.get(item);
        } catch (IllegalAccessException | ClassCastException e) {
            return -999;
        }
    }

    public static int getPurchaseOreDictionary_price(PurchaseOreDictionary item) {
        try {
            return (int) PurchaseOreDictionary_price.get(item);
        } catch (IllegalAccessException | ClassCastException e) {
            return -999;
        }
    }

    private static IPurchaseItem findPurchaseItemOre(int oreId) {
        for(IPurchaseItem theItem: purchaseItems) {
            if (theItem instanceof PurchaseOreDictionary) {
                if (oreId == getPurchaseOreDictionary_oreId((PurchaseOreDictionary) theItem))
                    return theItem;
            }
        }
        return null;
    }

    private static IPurchaseItem findPurchaseItemItem(ItemStack item) {
        for(IPurchaseItem theItem: purchaseItems) {
            if (theItem instanceof PurchaseItemStack) {
                if (areEqual(item, getPurchaseItemStack_itemStack((PurchaseItemStack) theItem)))