public static bool Prefix(ItemAction action, InventoryItem item)
                {
                    bool hasLMBaction = RegisteredLMBActions.TryGetValue(item.item.GetTechType(), out ItemActionHelper LMBaction);
                    bool hasMMBaction = RegisteredMMBActions.TryGetValue(item.item.GetTechType(), out ItemActionHelper MMBaction);

                    if (!hasLMBaction && !hasMMBaction)
                    {
                        return(true);
                    }

                    if (hasLMBaction && action == LeftClickItemAction && (LMBaction?.Condition(item)).ToNormalBool())
                    {
                        LMBaction.Callback(item);
                        return(false);
                    }
                    if (hasMMBaction && action == MiddleClickItemAction && (MMBaction?.Condition(item)).ToNormalBool())
                    {
                        MMBaction.Callback(item);
                        return(false);
                    }
                    else
                    {
                        return(true);
                    }
                }