public static ItemStack getCopy(ItemStack stack) {
		if (stack == null) return null;

        try {
                Object craft = getNMSCopy(stack);
                Method mirrorMethod = class_CraftItemStack.getMethod("asCraftMirror", craft.getClass());
                stack = (ItemStack)mirrorMethod.invoke(null, craft);
        } catch (Throwable ex) {
                ex.printStackTrace();
        }

        return stack;
	}