Void trading is a way of trading infinitely with villagers.
It works by opening a villagers trading view and then unloading the villager (e.G. by teleporting a large distance).
Because the villager is not loaded at the time you are making your trades, they will not get locked.
This normally does not work on bukkit / spigot servers, because chunk unloading is handled differently.
Instead, this plugin saves and resets villagers, when players trading teleport away by using end gateways.
Install: