I made a custom 1.12.2 jar with MCP which removes the combat cooldown and changes some other features. I wanted to also pair Forge with it to make a modpack out of it for me and some of my friends, but it gives an error.
Jar mods are generally incompatible with Forge, and any other mod that changes any of the same classes (even the most basic mods can be incompatible, for example, a mod i made that simply removes void fog from 1.7.10 crashes Forge despite changing just one line in a relatively small class; about the only major jar mod that works with Forge is Optifine, for which Forge itself has special accommodations for since it is so popular, and it still causes various issues with other mods); you need to merge the sources to ensure that the changes from both mods are present, as I did back when I used Forge to run some mods in addition to my own, which I made by modifying the Forge-patched source in MCP (this was for 1.6.2, I don't know if you can still do this as while I haven't done this for any newer versions I know that the way the Forge MDK works has since changed a lot, for example, they started using "Gradle" in 1.6.4 (which is part of the reason why I stopped using Forge since I had no clue how to use it, as well as having a lot more freedom in what I can change).
You need to either develop a core mod for Forge with your changes (the hard way but most rewarding way).
Or set up an environment with Forge sources, make your changes to those classes, compile and copy them over to your jar file. I don't recommend this method since it's very discouraged and many issues may arise.