public static MerchantRecipe createMerchantRecipe(ItemStack itemstackBuyA, ItemStack itemstackBuyB, ItemStack itemstackSell, int slot) {
		MerchantRecipe recipe = null;
		if (itemstackBuyB == null) {
			recipe = new MerchantRecipe(
						CraftItemStack.asNMSCopy(itemstackBuyA),
						CraftItemStack.asNMSCopy(itemstackSell)
					);
		} else {
			recipe = new MerchantRecipe(
						CraftItemStack.asNMSCopy(itemstackBuyA),
						CraftItemStack.asNMSCopy(itemstackBuyB),
						CraftItemStack.asNMSCopy(itemstackSell)
					);
		}
		try {
			Field maxUsesField = MerchantRecipe.class.getDeclaredField("maxUses");
			maxUsesField.setAccessible(true);
			maxUsesField.set(recipe, 10000);
		} catch (Exception e) {}
		return recipe;
	}