I'm really happy with how well the developer is able to respond to criticism and actually works on the issues at hand. The implementation of the new solution was quick and I really have no other complaints about the current codebase.
Thank you very much for the kind words! Take care.
Version: 1.2.2
Why does this plugin spawn a timer that'll create random vectors (5 calls to generate random numbers in total) on every tick (20 times per second)? This seems to be quite the opposite of "High Performance" to me. I of course do get the intent you had, but it would be way smarter to just initialize a small (~50 slots) ringbuffer on startup with random vectors, and then just cycle that whenever a new vector is required. It'll appear more than random enough to the human eye. Also, why are you wrapping creating and cleaning armorstands into runnables? There's nothing inherently wrong with that, it just adds further unnecessary overhead to the calls. Lastly, I really don't get why this plugin depends on ProtocolLib, if you're spawning all armorstands using the bukkit API, which by the way: you shouldn't do. Spawning them inside the world not only adds a lot of unnecessary processing strain on the server (as these armor stands shouldn't be interacted with anyways), but will also leave the armor stands dangling around in the world if your plugin should ever get unloaded unexpectedly without a call to the disable lifecycle (crash, for example).
Since you're selling another version of this plugin, which very probably contains the same code with just a few customizations added, you really should work on those less than ideal implementations.
This plugin no longer depends on ProtocolLib, that has been fixed now. This plugin hasn't been using ProtocolLib for months, it was an oversight on my part leaving this in.
In regards to the vector generation, I have now implemented the change you suggested, TYVM!
You mention I shouldn't spawn armor stands with the Bukkit API - could you elaborate on a better strategy? I would love to improve on this as well. From what you are saying I understand you are suggesting to do this through nms? (BlvckBytes and I have now spoken about NMS)
Hope you are well,
dSevvv
Version: 1.2.0
Amazing plugin, dev responded and added my suggestions making it perfect and far more lightweight!
Thank you for the kind review. I am delighted I was able to solve the suggestions you had.
Version: 1.1.2
Amazing plugin, USUALLY lightweight.
May I suggest the following:
Config to limit how many indicators max can be in a given area/chunk
(Right now, sweeping edge on a mob grinder can crash players...)
Config to disable the indicators for mobs / players / etc specifically
Right now, it appears these essential and basic features seem to either be not available or locked behind the premium plugin, which mind you is highly overpriced for what it delivers...not to mention these shouldn't be in there exclusivly.
Toggle command that will allow players to turn off indicators is right around the corner. I will definitely take a look at chunk limiting as well (maybe I could add a config option to toggle off sweeping edge indicators as well).
In regards to the price of DamageIndicatorsPlus, I am not sure how that is relevant to a review on this plugin. Regardless, I recognize $5 can be a lot to ask for people, that is why I offer a free version. If users wish to support me as a developer and purchase the premium plugin, that is greatly appreciated.
Thanks for the review, I hope you can consider changing your rating in the future as changes are implemented to improve the specific issues you brought up about performance.
Tried it out and works fine without any errors that I know of but also it would be nice if the source was on the git page, as I don't like to have to use decomps to review the code as it's not really accurate also what's with all the bloat libraries, they are never used as far as I checked and I even removed them and it worked flawlessly without them and idk if you're using Maven or Gradle so idk what to suggest to exclude the libraries (post the src on git and I could just make a pr).