Hello, a few months ago I decided to learn how to write plugins so I started developing a plugin. All of the features in the plugin are created for the sole purpose of teaching myself how to do essential things like serialization of data, json adaptation, manipulating game data, language systems etc. Here is a trailer for the plugin: Now I would like to make it open source so if somebody is trying to learn something basic could check it out which means that I should rewrite most of the classes as the code is a bit sloppy and not really conventional in some cases. So I will probably come again with more threads in the future. Here is the current problem I am facing: Currently, the plugin uses PlayerMove event to spawn particles, which I don't know if it is thread safe. Which of the next solutions in your opinion could give me the best ratio between performance and appearance? Creating a repeating task which iterates over the whole list with flying players and spawning a particle or creating a repeating task per player for spawning the particle? My thoughts are that in the first case if the list is longer players could experience missing particles because it takes longer to iterate over the whole list but the second solution will probably be an overkill to create a task for every player for just a simple spawning. Probably another way of doing this is creating a a new task for every 10 flying players so that everything is organized into small groups but this could lead to complicated dynamic data organization. What are your thoughts about it?