This project is a Spigot plugin made for one of my clients which involved, among other things, process queuing.
The goal of the plugin was to create a ‘Chunk Buster’ that could be given to any player via command, this ‘Chunk Buster’ would remove all blocks within the chunk it was placed in.
There were plugins publicly avalible that could accomplish this, but the issue with those plugins was that when multiple ‘Chunk Buster’ items were being used the server would come under heavy load, and affected the gameplay. The solution that I came up with was to use a queue system that would queue all ‘Chunk Buster’ removal processes, this way only a maximum of one process would be active at any point in time, thereby ensuring a low load on the server. In this case the added wait time was not an issue, and so the client agreed to this solution.
The client also requested that certain parameters could be changed, such as: maximum and minimum chunk hight, chunk removal speed and a block blacklist (blocks on said list would not be removed by the ‘Chunk Buster’).
The following video is a the showcase video I send to the client as proof of concept.
The source code is not avalible at this moment.