One of my first mods was kind of this thing. Its a consumable xp buff with a multiplier(that can also be lower than 1) you can adjust via server settings. It works on tick and compares the current xp value of the player with a saved xp value from the last tick. Then i apply the multiplier to the difference of both values, add the result to the saved last tick xp value and set that as the new experience on the player. I can show you the graph if the explanation wasn’t clear